Author: jra
Date: 2006-07-18 01:20:26 +0000 (Tue, 18 Jul 2006)
New Revision: 17107

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=17107

Log:
Make the 200 ms timeout value tunable in local.h...
Might need to be a parameter ?
Jeremy.

Modified:
   branches/SAMBA_3_0/source/include/local.h
   branches/SAMBA_3_0/source/smbd/reply.c


Changeset:
Modified: branches/SAMBA_3_0/source/include/local.h
===================================================================
--- branches/SAMBA_3_0/source/include/local.h   2006-07-18 01:17:54 UTC (rev 
17106)
+++ branches/SAMBA_3_0/source/include/local.h   2006-07-18 01:20:26 UTC (rev 
17107)
@@ -247,4 +247,7 @@
 /* Default hash size for the winbindd cache. */
 #define WINBINDD_CACHE_TDB_DEFAULT_HASH_SIZE 5000
 
+/* Windows minimum lock resolution timeout in ms */
+#define WINDOWS_MINIMUM_LOCK_TIMEOUT_MS 200
+
 #endif

Modified: branches/SAMBA_3_0/source/smbd/reply.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/reply.c      2006-07-18 01:17:54 UTC (rev 
17106)
+++ branches/SAMBA_3_0/source/smbd/reply.c      2006-07-18 01:20:26 UTC (rev 
17107)
@@ -5383,8 +5383,8 @@
                        if (br_lck && blocking_lock && 
ERROR_WAS_LOCK_DENIED(status)) {
                                /* Windows internal resolution for blocking 
locks seems
                                   to be about 200ms... Don't wait for less 
than that. JRA. */
-                               if (lock_timeout != -1 && lock_timeout < 200) {
-                                       lock_timeout = 200;
+                               if (lock_timeout != -1 && lock_timeout < 
WINDOWS_MINIMUM_LOCK_TIMEOUT_MS) {
+                                       lock_timeout = 
WINDOWS_MINIMUM_LOCK_TIMEOUT_MS;
                                }
                                defer_lock = True;
                        }
@@ -5397,7 +5397,7 @@
                        if (br_lck && lp_blocking_locks(SNUM(conn)) && 
!blocking_lock &&
                                        NT_STATUS_EQUAL((status), 
NT_STATUS_FILE_LOCK_CONFLICT)) {
                                defer_lock = True;
-                               lock_timeout = 200;
+                               lock_timeout = WINDOWS_MINIMUM_LOCK_TIMEOUT_MS;
                        }
 
                        if (br_lck && defer_lock) {

Reply via email to