Second part of the fix for bug 6828 - infinite timeout occurs when byte lock held...
authorJeremy Allison <jra@samba.org>
Tue, 27 Oct 2009 18:55:34 +0000 (11:55 -0700)
committerKarolin Seeger <kseeger@samba.org>
Wed, 13 Jan 2010 13:00:54 +0000 (14:00 +0100)
(cherry picked from commit 31bb625273aac6e3e19f95465580b3bcb1885549)

source/smbd/blocking.c

index f4adc0d047d9ccd609aeee0b358d3767f2ac451b..41cbb4a128c7f19bc701cd3bb1f48d7ae4fe72b4 100644 (file)
@@ -696,7 +696,6 @@ static void process_blocking_lock_queue(void)
 {
        struct timeval tv_curr = timeval_current();
        blocking_lock_record *blr, *next = NULL;
-       bool recalc_timeout = False;
 
        /*
         * Go through the queue and see if we can get any of the locks.
@@ -746,7 +745,6 @@ static void process_blocking_lock_queue(void)
                        blocking_lock_reply_error(blr,NT_STATUS_ACCESS_DENIED);
                        DLIST_REMOVE(blocking_lock_queue, blr);
                        free_blocking_lock_record(blr);
-                       recalc_timeout = True;
                        continue;
                }
 
@@ -771,7 +769,6 @@ static void process_blocking_lock_queue(void)
                        blocking_lock_reply_error(blr,NT_STATUS_ACCESS_DENIED);
                        DLIST_REMOVE(blocking_lock_queue, blr);
                        free_blocking_lock_record(blr);
-                       recalc_timeout = True;
                        change_to_root_user();
                        continue;
                }
@@ -797,7 +794,6 @@ static void process_blocking_lock_queue(void)
 
                        DLIST_REMOVE(blocking_lock_queue, blr);
                        free_blocking_lock_record(blr);
-                       recalc_timeout = True;
                        change_to_root_user();
                        continue;
                }
@@ -833,13 +829,10 @@ static void process_blocking_lock_queue(void)
                        blocking_lock_reply_error(blr,NT_STATUS_FILE_LOCK_CONFLICT);
                        DLIST_REMOVE(blocking_lock_queue, blr);
                        free_blocking_lock_record(blr);
-                       recalc_timeout = True;
                }
        }
 
-       if (recalc_timeout) {
-               recalc_brl_timeout();
-       }
+       recalc_brl_timeout();
 }
 
 /****************************************************************************