summaryrefslogtreecommitdiffstats
path: root/source/smbd/oplock.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2002-05-22 23:34:47 +0000
committerJeremy Allison <jra@samba.org>2002-05-22 23:34:47 +0000
commit5c8351228c55f2403214351f6fd16fe231aee917 (patch)
treee9cd992a345c2d5269d3471cdd2635f85ae49b59 /source/smbd/oplock.c
parent08356ec38a5be239b6ab53ee75f3735c29b677a7 (diff)
downloadsamba-5c8351228c55f2403214351f6fd16fe231aee917.tar.gz
samba-5c8351228c55f2403214351f6fd16fe231aee917.tar.xz
samba-5c8351228c55f2403214351f6fd16fe231aee917.zip
Merge of bugfixes from 2.2.
Jeremy.
Diffstat (limited to 'source/smbd/oplock.c')
-rw-r--r--source/smbd/oplock.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/source/smbd/oplock.c b/source/smbd/oplock.c
index 6a477913005..9bc7d64381e 100644
--- a/source/smbd/oplock.c
+++ b/source/smbd/oplock.c
@@ -99,6 +99,11 @@ BOOL receive_local_message( char *buffer, int buffer_len, int timeout)
if (selrtn == -1 && errno == EINTR) {
+ /* could be a kernel oplock interrupt */
+ if (koplocks && koplocks->msg_waiting(&fds)) {
+ return koplocks->receive_message(&fds, buffer, buffer_len);
+ }
+
/*
* Linux 2.0.x seems to have a bug in that
* it can return -1, EINTR with a timeout of zero.
@@ -111,11 +116,6 @@ BOOL receive_local_message( char *buffer, int buffer_len, int timeout)
return False;
}
-
- /* could be a kernel oplock interrupt */
- if (koplocks && koplocks->msg_waiting(&fds)) {
- return koplocks->receive_message(&fds, buffer, buffer_len);
- }
/* Not a kernel interrupt - could be a SIGUSR1 message. We must restart. */
/* We need to decrement the timeout here. */
timeout -= ((time(NULL) - starttime)*1000);