Continuing to mess around with file descriptors, I think I've tracked down Michael Koehne's bug.

In file_polling_handler, the loop is cut short once all fds that have events on them have been checked, but that means that the remainder, that are still waiting, don't get moved up in the array and get lost.

One line patch attached.

Mike
--- arch/libgst/events.c        2005-09-07 07:22:12.000000000 +0000
+++ mod/libgst/events.c 2005-09-11 10:43:30.000000000 +0000
@@ -193,7 +193,7 @@
        return;
 
       num_used_pollfds = 0;
-      for (node = head, pprev = &head; node && n; node = *pprev)
+      for (node = head, pprev = &head; node ; node = *pprev)
        {
          struct pollfd *poll = &pollfds[node->poll];
 
_______________________________________________
help-smalltalk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to