From: Jeffrey Altman Date: Sat, 30 Aug 2008 15:14:43 +0000 (+0000) Subject: DEVEL15-windows-afsd-init-lock-order-validation-20080830 X-Git-Tag: openafs-devel-1_5_53~64 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=b13a77c35745711c3d8da3b9f9d0f89cc8f0514b;p=packages%2Fo%2Fopenafs.git DEVEL15-windows-afsd-init-lock-order-validation-20080830 LICENSE MIT Add TransarcAFSDaemon/Parameters key "LockOrderValidation" DWORD to control lock order validation functionality. Defaults to off for release builds and on for checked builds. (cherry picked from commit 83dadab93adde0812f9ae228667683cfcc761f67) --- diff --git a/src/WINNT/afsd/afsd_init.c b/src/WINNT/afsd/afsd_init.c index 4ded5510f..7ac330e31 100644 --- a/src/WINNT/afsd/afsd_init.c +++ b/src/WINNT/afsd/afsd_init.c @@ -561,6 +561,7 @@ int afsd_InitCM(char **reasonP) DWORD rx_enable_peer_stats; DWORD rx_enable_process_stats; DWORD rx_udpbufsize = -1; + DWORD lockOrderValidation; long traceBufSize; long maxcpus; long ltt, ltto; @@ -625,6 +626,19 @@ int afsd_InitCM(char **reasonP) osi_panic(buf, __FILE__, __LINE__); } + dummyLen = sizeof(lockOrderValidation); + code = RegQueryValueEx(parmKey, "LockOrderValidation", NULL, NULL, + (BYTE *) &lockOrderValidation, &dummyLen); + if (code != ERROR_SUCCESS) { +#ifdef DEBUG + lockOrderValidation = 1; +#else + lockOrderValidation = 0; +#endif + } + osi_SetLockOrderValidation(lockOrderValidation); + afsi_log("Lock Order Validation %s", lockOrderValidation ? "On" : "Off"); + dummyLen = sizeof(maxcpus); code = RegQueryValueEx(parmKey, "MaxCPUs", NULL, NULL, (BYTE *) &maxcpus, &dummyLen);