[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cups-commit
Subject:    [cups.commit] [CUPS] r7088 - trunk/scheduler
From:       cups-dev () easysw ! com
Date:       2007-11-30 5:27:35
Message-ID: 7192-cups.commit () news ! easysw ! com
[Download RAW message or body]

Author: mike
Date: 2007-11-29 21:27:35 -0800 (Thu, 29 Nov 2007)
New Revision: 7088
Log:
Fix cupsdDoSelect() with fallback...


Modified:
   trunk/scheduler/select.c

Modified: trunk/scheduler/select.c
===================================================================
--- trunk/scheduler/select.c	2007-11-30 05:18:08 UTC (rev 7087)
+++ trunk/scheduler/select.c	2007-11-30 05:27:35 UTC (rev 7088)
@@ -344,8 +344,6 @@
   }
 
 #elif defined(HAVE_POLL)
-  cupsd_update_pollfds = 1;
-
 #  ifdef HAVE_EPOLL
   if (cupsd_epoll_fd >= 0)
   {
@@ -366,11 +364,15 @@
                   &event))
     {
       close(cupsd_epoll_fd);
-      cupsd_epoll_fd = -1;
+      cupsd_epoll_fd       = -1;
+      cupsd_update_pollfds = 1;
     }
   }
+  else
 #  endif /* HAVE_EPOLL */
 
+  cupsd_update_pollfds = 1;
+
 #else /* select() */
  /*
   * Add or remove the file descriptor in the input and output sets
@@ -494,9 +496,9 @@
                   "cupsdDoSelect: polling %d fds for %ld seconds...",
 		  cupsArrayCount(cupsd_fds), timeout);
 
+#  ifdef HAVE_EPOLL
   cupsd_in_select = 1;
 
-#  ifdef HAVE_EPOLL
   if (cupsd_epoll_fd >= 0)
   {
     int			i;		/* Looping var */
@@ -545,7 +547,7 @@
 	release_fd(fdptr);
       }
 
-      return (nfds);
+      goto release_inactive;
     }
   }
 #  endif /* HAVE_EPOLL */
@@ -735,6 +737,8 @@
   * Release all inactive file descriptors...
   */
 
+  release_inactive:
+
   cupsd_in_select = 0;
 
   for (fdptr = (_cupsd_fd_t *)cupsArrayFirst(cupsd_inactive_fds);

_______________________________________________
cups-commit mailing list
cups-commit@easysw.com
http://lists.easysw.com/mailman/listinfo/cups-commit
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic