summaryrefslogtreecommitdiff
path: root/source3/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
commita3c98a841bcedf72ce513917707b5799c37abb95 (patch)
treee8e703d58f0537c8a12c410ba655a48ced04a8fd /source3/smbd/oplock.c
parent8955286b321db3b3283e99706cf294f191cdcc78 (diff)
downloadsamba-a3c98a841bcedf72ce513917707b5799c37abb95.tar.gz
samba-a3c98a841bcedf72ce513917707b5799c37abb95.tar.bz2
samba-a3c98a841bcedf72ce513917707b5799c37abb95.zip
Merge of bugfixes from 2.2.
Jeremy. (This used to be commit 5c8351228c55f2403214351f6fd16fe231aee917)
Diffstat (limited to 'source3/smbd/oplock.c')
-rw-r--r--source3/smbd/oplock.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c
index 6a47791300..9bc7d64381 100644
--- a/source3/smbd/oplock.c
+++ b/source3/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);