summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Prouty <tprouty@samba.org>2009-02-09 09:36:40 -0800
committerTim Prouty <tprouty@samba.org>2009-02-09 13:23:44 -0800
commit1696298aad3f84b6cd9008bb2684db572b34dfb5 (patch)
treed142faa696d335e306c2428b63ce4b0f9486875f
parentf8c0d2fe010e06bed02fab7f51e000907535416a (diff)
downloadsamba-1696298aad3f84b6cd9008bb2684db572b34dfb5.tar.gz
samba-1696298aad3f84b6cd9008bb2684db572b34dfb5.tar.bz2
samba-1696298aad3f84b6cd9008bb2684db572b34dfb5.zip
s3 async: Fix the build on systems that have ETIMEDOUT but not ETIME
Fallback on EAGAIN
-rw-r--r--lib/async_req/async_sock.c4
-rw-r--r--source3/lib/util_sock.c11
2 files changed, 9 insertions, 6 deletions
diff --git a/lib/async_req/async_sock.c b/lib/async_req/async_sock.c
index 46ad29d053..02ae880683 100644
--- a/lib/async_req/async_sock.c
+++ b/lib/async_req/async_sock.c
@@ -116,10 +116,10 @@ bool async_req_is_errno(struct async_req *req, int *err)
*err = (int)error;
break;
case ASYNC_REQ_TIMED_OUT:
-#ifdef HAVE_ETIMEDOUT
+#ifdef ETIMEDOUT
*err = ETIMEDOUT;
#else
- *err = EIO;
+ *err = EAGAIN;
#endif
break;
case ASYNC_REQ_NO_MEMORY:
diff --git a/source3/lib/util_sock.c b/source3/lib/util_sock.c
index b9a7f8788d..c46aa2ac49 100644
--- a/source3/lib/util_sock.c
+++ b/source3/lib/util_sock.c
@@ -1061,10 +1061,13 @@ static void open_socket_out_connected(struct async_req *subreq)
return;
}
- if ((sys_errno == ETIME)
- || (sys_errno == EINPROGRESS)
- || (sys_errno == EALREADY)
- || (sys_errno == EAGAIN)) {
+ if (
+#ifdef ETIMEDOUT
+ (sys_errno == ETIMEDOUT) ||
+#endif
+ (sys_errno == EINPROGRESS) ||
+ (sys_errno == EALREADY) ||
+ (sys_errno == EAGAIN)) {
/*
* retry