diff options
author | niq <niq@13f79535-47bb-0310-9956-ffa450edef68> | 2008-06-27 17:47:28 +0000 |
---|---|---|
committer | niq <niq@13f79535-47bb-0310-9956-ffa450edef68> | 2008-06-27 17:47:28 +0000 |
commit | b200917e4d61201270a825bd6ee93fa07f881d03 (patch) | |
tree | 8c616b24088bb3e757ba86401bb5a62f11e9ff98 /poll | |
parent | 992cfc20405e8c3dc39945c57bbeb7c0525b45b1 (diff) | |
download | libapr-b200917e4d61201270a825bd6ee93fa07f881d03.tar.gz |
Fix solaris poll bug - ref http://marc.info/?t=121438277000004&r=1&w=2
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@672344 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'poll')
-rw-r--r-- | poll/unix/port.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/poll/unix/port.c b/poll/unix/port.c index 3f1ac245d..73d852511 100644 --- a/poll/unix/port.c +++ b/poll/unix/port.c @@ -381,7 +381,15 @@ APR_DECLARE(apr_status_t) apr_pollset_poll(apr_pollset_t *pollset, if (ret == -1) { (*num) = 0; - rv = apr_get_netos_error(); + if (errno == EINTR) { + rv = APR_EINTR; + } + else if (errno == ETIME) { + rv = APR_TIMEUP; + } + else { + rv = apr_get_netos_error(); + } } else if (nget == 0) { rv = APR_TIMEUP; |