summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2002-01-31 23:26:12 +0000
committerJeremy Allison <jra@samba.org>2002-01-31 23:26:12 +0000
commit69adbb0ce3bb9d5bd569c13aaa3ac8f390c1586a (patch)
tree64a15ac400842319f5db5d2c504632a0ea5ad751 /source3/smbd
parent0815cd63bd878d72c154caf5e121352b2af10a53 (diff)
downloadsamba-69adbb0ce3bb9d5bd569c13aaa3ac8f390c1586a.tar.gz
samba-69adbb0ce3bb9d5bd569c13aaa3ac8f390c1586a.tar.bz2
samba-69adbb0ce3bb9d5bd569c13aaa3ac8f390c1586a.zip
Fix from Michael Steffens <michael_steffens@hp.com> to make signal
processing work correctly in winbindd. This is a really good patch that gives full select semantics to the Samba modified select. Jeremy. (This used to be commit 3af16ade173cac24c1ac5eff4a36b439f16ac036)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/oplock.c2
-rw-r--r--source3/smbd/process.c2
-rw-r--r--source3/smbd/server.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c
index 16c7db6645..39bcb558f1 100644
--- a/source3/smbd/oplock.c
+++ b/source3/smbd/oplock.c
@@ -93,7 +93,7 @@ BOOL receive_local_message(fd_set *fds, char *buffer, int buffer_len, int timeou
to.tv_sec = timeout / 1000;
to.tv_usec = (timeout % 1000) * 1000;
- selrtn = sys_select(maxfd+1,fds,&to);
+ selrtn = sys_select(maxfd+1,fds,NULL,NULL,&to);
if (selrtn == -1 && errno == EINTR) {
/* could be a kernel oplock interrupt */
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index e7a9d0b644..bf1a1ca9a7 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -193,7 +193,7 @@ static BOOL receive_message_or_smb(char *buffer, int buffer_len, int timeout)
to.tv_sec = timeout / 1000;
to.tv_usec = (timeout % 1000) * 1000;
- selrtn = sys_select(MAX(maxfd,smbd_server_fd())+1,&fds,timeout>0?&to:NULL);
+ selrtn = sys_select(MAX(maxfd,smbd_server_fd())+1,&fds,NULL,NULL,timeout>0?&to:NULL);
/* if we get EINTR then maybe we have received an oplock
signal - treat this as select returning 1. This is ugly, but
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 3b40cb6191..50f09cf6e6 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -239,7 +239,7 @@ max can be %d\n",
memcpy((char *)&lfds, (char *)&listen_set,
sizeof(listen_set));
- num = sys_select(FD_SETSIZE,&lfds,NULL);
+ num = sys_select(FD_SETSIZE,&lfds,NULL,NULL,NULL);
if (num == -1 && errno == EINTR) {
extern VOLATILE sig_atomic_t reload_after_sighup;