[FFmpeg-cvslog] r9095 - trunk/libavformat/os_support.c

alex subversion
Mon May 21 17:54:35 CEST 2007


Author: alex
Date: Mon May 21 17:54:35 2007
New Revision: 9095

Log:
fix FD_SETSIZE handling in our poll() emulation

Modified:
   trunk/libavformat/os_support.c

Modified: trunk/libavformat/os_support.c
==============================================================================
--- trunk/libavformat/os_support.c	(original)
+++ trunk/libavformat/os_support.c	Mon May 21 17:54:35 2007
@@ -139,6 +139,11 @@ int poll(struct pollfd *fds, nfds_t numf
     int n;
     int rc;
 
+    if (numfds >= FD_SETSIZE) {
+        errno = EINVAL;
+        return -1;
+    }
+
     FD_ZERO(&read_set);
     FD_ZERO(&write_set);
     FD_ZERO(&exception_set);
@@ -147,10 +152,6 @@ int poll(struct pollfd *fds, nfds_t numf
     for(i = 0; i < numfds; i++) {
         if (fds[i].fd < 0)
             continue;
-        if (fds[i].fd >= FD_SETSIZE) {
-            errno = EINVAL;
-            return -1;
-        }
 
         if (fds[i].events & POLLIN)  FD_SET(fds[i].fd, &read_set);
         if (fds[i].events & POLLOUT) FD_SET(fds[i].fd, &write_set);




More information about the ffmpeg-cvslog mailing list