Dan Torop cleaned up a few no longer used variables from David Phillips'

select() overhaul fix.
This commit is contained in:
Daniel Stenberg 2005-01-11 20:22:44 +00:00
parent 38f8087281
commit c5b2e85b47
5 changed files with 5 additions and 29 deletions

View File

@ -8,6 +8,9 @@
Daniel (11 January 2005)
- Dan Torop cleaned up a few no longer used variables from David Phillips'
select() overhaul fix.
- Cyrill Osterwalder posted a detailed analysis about a bug that occurs when
using a custom Host: header and curl fails to send a request on a re-used
persistent connection and thus creates a new connection and resends it. It

View File

@ -36,6 +36,6 @@ advice from friends like these:
Dan Fandrich, Peter Pentchev, Marcin Konicki, Rune Kleveland, David Shaw,
Werner Koch, Gisle Vanem, Alex Neblett, Kai Sommerfeld, Marty Kuhrt,
Hzhijun, Pavel Orehov, Bruce Mitchener, Cyrill Osterwalder
Hzhijun, Pavel Orehov, Bruce Mitchener, Cyrill Osterwalder, Dan Torop
Thanks! (and sorry if I forgot to mention someone)

View File

@ -16,13 +16,9 @@ CURLMcode curl_multi_fdset(CURLM *multi_handle,
.SH DESCRIPTION
This function extracts file descriptor information from a given multi_handle.
libcurl returns its fd_set sets. The application can use these to select()
on. The \fIcurl_multi_perform(3)\fI function should be called as soon as one
on. The \fIcurl_multi_perform(3)\fP function should be called as soon as one
of them are ready to be read from or written to.
NOTE that once this call is made, you must not remove the sets you point to,
as libcurl will need to be able to read them. It needs them after select()
calls, to know if certain sockets are readable or writable.
You should also be aware that when doing select(), you should consider using a
rather small (single-digit number of seconds) timeout and call
\fIcurl_multi_perform\fP regularly - even if no activity has been seen on the

View File

@ -464,7 +464,6 @@ CURLcode Curl_readwrite(struct connectdata *conn,
k->write_after_100_header = FALSE;
k->keepon |= KEEP_WRITE;
k->wkeepfd = k->writefd;
}
}
else
@ -1192,7 +1191,6 @@ CURLcode Curl_readwrite(struct connectdata *conn,
go into the Expect: 100 state and await such a header */
k->wait100_after_headers = FALSE; /* headers sent */
k->write_after_100_header = TRUE; /* wait for the header */
k->wkeepfd = k->writefd; /* set the keeper variable */
k->keepon &= ~KEEP_WRITE; /* disable writing */
k->start100 = Curl_tvnow(); /* timeout count starts now */
didwhat &= ~KEEP_WRITE; /* we didn't write anything actually */
@ -1336,7 +1334,6 @@ CURLcode Curl_readwrite(struct connectdata *conn,
/* we've waited long enough, continue anyway */
k->write_after_100_header = FALSE;
k->keepon |= KEEP_WRITE;
k->wkeepfd = k->writefd;
}
}
}
@ -1463,12 +1460,6 @@ CURLcode Curl_readwrite_init(struct connectdata *conn)
k->keepon |= KEEP_WRITE;
}
}
/* get these in backup variables to be able to restore them on each lap in
the select() loop */
k->rkeepfd = k->readfd;
k->wkeepfd = k->writefd;
}
return CURLE_OK;
@ -1491,7 +1482,6 @@ void Curl_single_fdset(struct connectdata *conn,
if(conn->keep.keepon & KEEP_READ) {
FD_SET(conn->sockfd, read_fd_set);
*max_fd = conn->sockfd;
conn->keep.readfdp = read_fd_set; /* store the address of the set */
}
if(conn->keep.keepon & KEEP_WRITE) {
FD_SET(conn->writesockfd, write_fd_set);
@ -1500,7 +1490,6 @@ void Curl_single_fdset(struct connectdata *conn,
to compare it nicely */
if((int)conn->writesockfd > *max_fd)
*max_fd = conn->writesockfd;
conn->keep.writefdp = write_fd_set; /* store the address of the set */
}
/* we don't use exceptions, only touch that one to prevent compiler
warnings! */
@ -1543,9 +1532,6 @@ Transfer(struct connectdata *conn)
if(!conn->bits.getheader && conn->bits.no_body)
return CURLE_OK;
k->writefdp = &k->writefd; /* store the address of the set */
k->readfdp = &k->readfd; /* store the address of the set */
while (!done) {
int fd_read;
int fd_write;

View File

@ -410,15 +410,6 @@ struct Curl_transfer_keeper {
char *uploadbuf;
curl_socket_t maxfd;
/* pointers to the actual descriptors we check */
fd_set *readfdp;
fd_set *writefdp;
/* the file descriptors to play with */
fd_set readfd;
fd_set writefd;
fd_set rkeepfd;
fd_set wkeepfd;
int keepon;
bool upload_done; /* set to TRUE when doing chunked transfer-encoding upload