r6291 - in glibc-package/trunk/debian: . patches/hurd-i386
Author: sthibault
Date: 2014-10-12 20:04:57 +0000 (Sun, 12 Oct 2014)
New Revision: 6291
Modified:
glibc-package/trunk/debian/changelog
glibc-package/trunk/debian/patches/hurd-i386/tg-poll_errors_fixes.diff
Log:
patches/hurd-i386/tg-poll_errors_fixes.diff: Update patch, fixes
select returned value in case of errors. Closes: #764840.
Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog 2014-10-09 13:30:37 UTC (rev 6290)
+++ glibc-package/trunk/debian/changelog 2014-10-12 20:04:57 UTC (rev 6291)
@@ -6,6 +6,8 @@
* patches/hurd-i386/local-libpthread-stacksize.diff: New patch to make
libpthread stacks size default to 8MiB like on Linux, to avoid surprises
with packages which assume the Linuxish default.
+ * patches/hurd-i386/tg-poll_errors_fixes.diff: Update patch, fixes
+ select returned value in case of errors. Closes: #764840.
[ Petr Salinger ]
* update testsuite-checking/expected-results-*-kfreebsd-gnu-*
Modified: glibc-package/trunk/debian/patches/hurd-i386/tg-poll_errors_fixes.diff
===================================================================
--- glibc-package/trunk/debian/patches/hurd-i386/tg-poll_errors_fixes.diff 2014-10-09 13:30:37 UTC (rev 6290)
+++ glibc-package/trunk/debian/patches/hurd-i386/tg-poll_errors_fixes.diff 2014-10-12 20:04:57 UTC (rev 6291)
@@ -243,7 +243,7 @@
pollfds[i].revents = revents;
}
-@@ -511,6 +547,12 @@ _hurd_select (int nfds,
+@@ -511,6 +547,20 @@ _hurd_select (int nfds,
if ((type & SELECT_RETURNED) == 0)
type = 0;
@@ -251,7 +251,15 @@
+ 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++;
Reply to: