Author: jra
Date: 2006-01-19 17:38:05 +0000 (Thu, 19 Jan 2006)
New Revision: 13038

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=13038

Log:
Handle signals correctly in the winbindd_dual loop. This is not
a problem in SAMBA_3_0, only current HEAD.
Jeremy.

Modified:
   trunk/source/nsswitch/winbindd_dual.c


Changeset:
Modified: trunk/source/nsswitch/winbindd_dual.c
===================================================================
--- trunk/source/nsswitch/winbindd_dual.c       2006-01-19 16:34:05 UTC (rev 
13037)
+++ trunk/source/nsswitch/winbindd_dual.c       2006-01-19 17:38:05 UTC (rev 
13038)
@@ -567,6 +567,10 @@
                        DEBUG(11,("select will use timeout of %d seconds\n", 
(int)tp->tv_sec));
                }
 
+               /* Handle messages */
+
+               message_dispatch();
+
                FD_ZERO(&read_fds);
                FD_SET(state.sock, &read_fds);
 
@@ -577,6 +581,11 @@
                        continue;
                }
 
+               if (ret == -1 && errno == EINTR) {
+                       /* We got a signal - continue. */
+                       continue;
+               }
+
                if (ret == -1 && errno != EINTR) {
                        DEBUG(0,("select error occured\n"));
                        perror("select");

Reply via email to