diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2002-06-25 22:55:24 +0000 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2002-06-25 22:55:24 +0000 |
commit | d3b934de56d739e01906b3a0dc76bda66600838a (patch) | |
tree | a810725c8621f699fef737857f710ac40b846eeb | |
parent | 071b750f7b321a6b563da9b36ffec0d52d6ab728 (diff) | |
download | evolution-data-server-evolution-1-0-branch.tar.gz |
PR_IO_TIMEOUT_ERROR should map to ETIMEDOUT and not EAGAIN.evolution-1-0-branch
2002-06-21 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (set_errno): PR_IO_TIMEOUT_ERROR should
map to ETIMEDOUT and not EAGAIN.
(stream_connect): Set the PR_Connect and PR_Poll() timeout to 2
minutes.
-rw-r--r-- | camel/ChangeLog | 7 | ||||
-rw-r--r-- | camel/camel-tcp-stream-ssl.c | 8 |
2 files changed, 12 insertions, 3 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index e9dad199f..8c856443d 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,10 @@ +2002-06-21 Jeffrey Stedfast <fejj@ximian.com> + + * camel-tcp-stream-ssl.c (set_errno): PR_IO_TIMEOUT_ERROR should + map to ETIMEDOUT and not EAGAIN. + (stream_connect): Set the PR_Connect and PR_Poll() timeout to 2 + minutes. + 2002-06-05 Dan Winship <danw@ximian.com> * camel-mime-utils.c (header_decode_mailbox): Parse diff --git a/camel/camel-tcp-stream-ssl.c b/camel/camel-tcp-stream-ssl.c index f5f507617..103b744dd 100644 --- a/camel/camel-tcp-stream-ssl.c +++ b/camel/camel-tcp-stream-ssl.c @@ -166,7 +166,6 @@ set_errno (int code) errno = EINTR; break; case PR_IO_PENDING_ERROR: - case PR_IO_TIMEOUT_ERROR: errno = EAGAIN; break; case PR_WOULD_BLOCK_ERROR: @@ -185,6 +184,7 @@ set_errno (int code) errno = ECONNREFUSED; break; case PR_CONNECT_TIMEOUT_ERROR: + case PR_IO_TIMEOUT_ERROR: errno = ETIMEDOUT; break; case PR_NOT_CONNECTED_ERROR: @@ -490,11 +490,13 @@ ssl_bad_cert (void *data, PRFileDesc *sockfd) return SECFailure; } +#define CONNECT_TIMEOUT PR_TicksPerSecond () * 120 + static int stream_connect (CamelTcpStream *stream, struct hostent *host, int port) { CamelTcpStreamSSL *ssl = CAMEL_TCP_STREAM_SSL (stream); - PRIntervalTime timeout = PR_INTERVAL_MIN; + PRIntervalTime timeout = CONNECT_TIMEOUT; PRNetAddr netaddr; PRFileDesc *fd, *ssl_fd; @@ -536,7 +538,7 @@ stream_connect (CamelTcpStream *stream, struct hostent *host, int port) poll.in_flags = PR_POLL_WRITE | PR_POLL_EXCEPT; poll.out_flags = 0; - timeout = PR_INTERVAL_MIN; + timeout = CONNECT_TIMEOUT; if (PR_Poll (&poll, 1, timeout) == PR_FAILURE) { set_errno (PR_GetError ()); |