diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2014-10-12 21:38:53 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2014-10-12 21:38:53 +0200 |
commit | 2092fb16bec256d9cfcd3bab79333b809843d976 (patch) | |
tree | b5892fb653448dd1883b58430cabcd4b607f2013 /hurd | |
parent | 4892d7f32edd47f4381828218d72dd02f06b8a35 (diff) | |
parent | c30b727f51a9678663788810a4ab0eb4b18071d4 (diff) |
Merge branch 't/poll_errors_fixes' into refs/top-bases/tschwinge/Roger_Whittaker
Diffstat (limited to 'hurd')
-rw-r--r-- | hurd/hurdselect.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/hurd/hurdselect.c b/hurd/hurdselect.c index b5ebf35a40..d104be07dc 100644 --- a/hurd/hurdselect.c +++ b/hurd/hurdselect.c @@ -544,7 +544,15 @@ _hurd_select (int nfds, readiness of the erring object and the next call hopefully will get the error again. */ if (type & SELECT_ERROR) - type = SELECT_ALL; + { + type = 0; + if (readfds != NULL && FD_ISSET (i, readfds)) + type |= SELECT_READ; + if (writefds != NULL && FD_ISSET (i, writefds)) + type |= SELECT_WRITE; + if (exceptfds != NULL && FD_ISSET (i, exceptfds)) + type |= SELECT_URG; + } if (type & SELECT_READ) ready++; |