Georg Horn provided a fix for the timeout signal stuff. Finally the timeout
switch should work under most unixes (requires sigaction())
This commit is contained in:
parent
cdfb83e0e3
commit
9d0d8280e9
12
lib/url.c
12
lib/url.c
@ -686,6 +686,9 @@ CURLcode curl_connect(CURL *curl, CURLconnect **in_connect)
|
||||
char resumerange[12]="";
|
||||
struct UrlData *data = curl;
|
||||
struct connectdata *conn;
|
||||
#ifdef HAVE_SIGACTION
|
||||
struct sigaction sigact;
|
||||
#endif
|
||||
|
||||
if(!data || (data->handle != STRUCT_OPEN))
|
||||
return CURLE_BAD_FUNCTION_ARGUMENT; /* TBD: make error codes */
|
||||
@ -711,8 +714,11 @@ CURLcode curl_connect(CURL *curl, CURLconnect **in_connect)
|
||||
|
||||
buf = data->buffer; /* this is our buffer */
|
||||
|
||||
#if 0
|
||||
signal(SIGALRM, alarmfunc);
|
||||
#ifdef HAVE_SIGACTION
|
||||
sigaction(SIGALRM, NULL, &sigact);
|
||||
sigact.sa_handler = alarmfunc;
|
||||
sigact.sa_flags &= ~SA_RESTART;
|
||||
sigaction(SIGALRM, &sigact, NULL);
|
||||
#endif
|
||||
|
||||
/* Parse <url> */
|
||||
@ -1393,11 +1399,9 @@ CURLcode curl_connect(CURL *curl, CURLconnect **in_connect)
|
||||
failf(data, "Attempt to connect to broadcast address without socket broadcast flag or local firewall rule violated: %d",errno);
|
||||
break;
|
||||
#endif
|
||||
#ifdef EINTR
|
||||
case EINTR:
|
||||
failf(data, "Connection timeouted");
|
||||
break;
|
||||
#endif
|
||||
#if 0
|
||||
case EAFNOSUPPORT:
|
||||
failf(data, "Incorrect address family: %d",errno);
|
||||
|
Loading…
Reference in New Issue
Block a user