7.7 alpha 2 commit
This commit is contained in:
Родитель
5543c2f11f
Коммит
cf8704ccdf
5
CHANGES
5
CHANGES
|
@ -8,6 +8,11 @@
|
|||
|
||||
** curl 7.7 DOES NOT currently WORK. **
|
||||
|
||||
Daniel (4 March 2001)
|
||||
- Now, there's even a basic check that a re-used connection is still alive
|
||||
before it is assumed so. A few first tests have proven that libcurl will
|
||||
then re-connect instead of re-use the dead connection!
|
||||
|
||||
Daniel (2 March 2001)
|
||||
- Now they work intermixed as well. Major coolness!
|
||||
|
||||
|
|
|
@ -733,5 +733,6 @@ AC_OUTPUT( Makefile \
|
|||
packages/Linux/Makefile \
|
||||
packages/Linux/RPM/Makefile \
|
||||
packages/Linux/RPM/curl.spec \
|
||||
packages/Linux/RPM/curl-ssl.spec )
|
||||
packages/Linux/RPM/curl-ssl.spec \
|
||||
tiny/Makefile )
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
.\" nroff -man [file]
|
||||
.\" Written by daniel@haxx.se
|
||||
.\"
|
||||
.TH curl_easy_perform 3 "25 Jan 2001" "Curl 7.0" "libcurl Manual"
|
||||
.TH curl_easy_perform 3 "1 Mar 2001" "Curl 7.0" "libcurl Manual"
|
||||
.SH NAME
|
||||
curl_easy_perform - Do the actual transfer in a "easy" session
|
||||
.SH SYNOPSIS
|
||||
|
@ -25,7 +25,7 @@ again first.
|
|||
.I <curl/curl.h>
|
||||
defines. If the CURLOPT_ERRORBUFFER was set with
|
||||
.I curl_easy_setopt
|
||||
there willo be a readable error message in the error buffer when non-zero is
|
||||
there will be a readable error message in the error buffer when non-zero is
|
||||
returned.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_init "(3), " curl_easy_setopt "(3), "
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
.\" nroff -man [file]
|
||||
.\" Written by daniel@haxx.se
|
||||
.\"
|
||||
.TH curl_slist_append 3 "2 June 2000" "Curl 7.0" "libcurl Manual"
|
||||
.TH curl_slist_append 3 "1 Mar 2001" "Curl 7.7" "libcurl Manual"
|
||||
.SH NAME
|
||||
curl_slist_append - add a string to an slist
|
||||
.SH SYNOPSIS
|
||||
.B #include <curl/curl.h>
|
||||
.sp
|
||||
.BI "struct curl_slist *curl_slist_append(struct curl_slit *" list,
|
||||
.BI "char * "string ");"
|
||||
.BI "const char * "string ");"
|
||||
.ad
|
||||
.SH DESCRIPTION
|
||||
curl_slist_append() appends a specified string to a linked list of
|
||||
|
|
|
@ -458,7 +458,7 @@ char *curl_getenv(char *variable);
|
|||
char *curl_version(void);
|
||||
|
||||
/* This is the version number */
|
||||
#define LIBCURL_VERSION "7.7-alpha1"
|
||||
#define LIBCURL_VERSION "7.7-alpha2"
|
||||
#define LIBCURL_VERSION_NUM 0x070000
|
||||
|
||||
/* linked-list structure for the CURLOPT_QUOTE option (and other) */
|
||||
|
|
37
lib/url.c
37
lib/url.c
|
@ -575,6 +575,32 @@ CURLcode curl_disconnect(CURLconnect *c_connect)
|
|||
return CURLE_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* This function should return TRUE if the socket is to be assumed to
|
||||
* be dead. Most commonly this happens when the server has closed the
|
||||
* connection due to inactivity.
|
||||
*/
|
||||
static bool SocketIsDead(int sock)
|
||||
{
|
||||
int sval;
|
||||
bool ret_val = TRUE;
|
||||
fd_set check_set;
|
||||
struct timeval to;
|
||||
|
||||
FD_ZERO(&check_set);
|
||||
FD_SET(sock,&check_set);
|
||||
|
||||
to.tv_sec = 0;
|
||||
to.tv_usec = 1;
|
||||
|
||||
sval = select(sock + 1, &check_set, 0, 0, &to);
|
||||
if(sval == 0)
|
||||
/* timeout */
|
||||
ret_val = FALSE;
|
||||
|
||||
return ret_val;
|
||||
}
|
||||
|
||||
/*
|
||||
* Given one filled in connection struct, this function should detect if there
|
||||
* already is one that have all the significant details exactly the same and
|
||||
|
@ -609,6 +635,16 @@ ConnectionExists(struct UrlData *data,
|
|||
continue;
|
||||
}
|
||||
}
|
||||
{
|
||||
bool dead;
|
||||
dead = SocketIsDead(check->firstsocket);
|
||||
if(dead) {
|
||||
infof(data, "Connection %d seems to be dead!\n", i);
|
||||
curl_disconnect(check); /* disconnect resources */
|
||||
data->connects[i]=NULL; /* nothing here */
|
||||
continue; /* try another one now */
|
||||
}
|
||||
}
|
||||
*usethis = check;
|
||||
return TRUE; /* yes, we found one to use! */
|
||||
}
|
||||
|
@ -909,7 +945,6 @@ static CURLcode ConnectPlease(struct UrlData *data,
|
|||
return CURLE_OK;
|
||||
}
|
||||
|
||||
|
||||
static CURLcode _connect(CURL *curl,
|
||||
CURLconnect **in_connect,
|
||||
bool allow_port) /* allow data->use_port ? */
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
#define CURL_NAME "curl"
|
||||
#define CURL_VERSION "7.7-alpha1"
|
||||
#define CURL_VERSION "7.7-alpha2"
|
||||
#define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") "
|
||||
|
|
|
@ -2,6 +2,7 @@ HTTP/1.1 301 This is a weirdo text message
|
|||
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
||||
Server: test-server/fake
|
||||
Location: data/110002.txt?coolsite=yes
|
||||
Connection: close
|
||||
|
||||
HTTP/1.1 200 Followed here fine
|
||||
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
||||
|
|
Загрузка…
Ссылка в новой задаче