summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2002-06-25 22:55:24 +0000
committerJeffrey Stedfast <fejj@src.gnome.org>2002-06-25 22:55:24 +0000
commitd3b934de56d739e01906b3a0dc76bda66600838a (patch)
treea810725c8621f699fef737857f710ac40b846eeb
parent071b750f7b321a6b563da9b36ffec0d52d6ab728 (diff)
downloadevolution-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/ChangeLog7
-rw-r--r--camel/camel-tcp-stream-ssl.c8
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 ());