aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--RELEASE-NOTES2
-rw-r--r--docs/libcurl/curl_multi_fdset.36
-rw-r--r--lib/transfer.c14
-rw-r--r--lib/urldata.h9
5 files changed, 5 insertions, 29 deletions
diff --git a/CHANGES b/CHANGES
index ab6a451a2..fc2728196 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index b39f2e41c..abb9854de 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -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)
diff --git a/docs/libcurl/curl_multi_fdset.3 b/docs/libcurl/curl_multi_fdset.3
index 2faaad298..e7e84fc3c 100644
--- a/docs/libcurl/curl_multi_fdset.3
+++ b/docs/libcurl/curl_multi_fdset.3
@@ -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
diff --git a/lib/transfer.c b/lib/transfer.c
index 7a15d3f3d..344413f0d 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -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;
diff --git a/lib/urldata.h b/lib/urldata.h
index 3936b1526..311149d01 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -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