diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/oplock_irix.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/source3/smbd/oplock_irix.c b/source3/smbd/oplock_irix.c index 29bbb0f2ca..fa86211c7f 100644 --- a/source3/smbd/oplock_irix.c +++ b/source3/smbd/oplock_irix.c @@ -94,7 +94,7 @@ static files_struct *irix_oplock_receive_message(fd_set *fds) files_struct *fsp; /* Ensure we only get one call per select fd set. */ - FD_CLR(fds, oplock_pipe_read); + FD_CLR(oplock_pipe_read, fds); /* * Read one byte of zero to clear the @@ -220,22 +220,18 @@ static BOOL irix_oplock_msg_waiting(fd_set *fds) return False; if (fds) { - return FD_ISSET(oplock_pipe_read,fds); - } - - FD_ZERO(&myfds); - maxfd = setup_oplock_select_set(&myfds); - /* Only do the select if we have something to select *on*. */ - if (maxfd == 0) { - return False; + return FD_ISSET(oplock_pipe_read, fds); } /* Do a zero-time select. We just need to find out if there * are any outstanding messages. We use sys_select_intr as * we need to ignore any signals. */ + FD_ZERO(&myfds); + FD_SET(oplock_pipe_read, &myfds); + to = timeval_set(0, 0); - selrtn = sys_select_intr(maxfd+1,&myfds,NULL,NULL,&to); + selrtn = sys_select_intr(oplock_pipe_read+1,&myfds,NULL,NULL,&to); return (selrtn == 1) ? True : False; } |