From: Jeffrey Altman Date: Sat, 15 Aug 2009 01:40:22 +0000 (-0400) Subject: Windows: Prevent cm_daemon thread from terminating during suspend X-Git-Tag: openafs-devel-1_5_62~46 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=8ed3acdf13c40d93e60f8f057f99d3f3377feab5;p=packages%2Fo%2Fopenafs.git Windows: Prevent cm_daemon thread from terminating during suspend Remove the check for powerStateSuspend that caused the cm_daemon thread to terminate when the machine enters suspend mode. When the machine awakens there is no thread to check the down server state, new IP address bindings, etc. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/315 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman --- diff --git a/src/WINNT/afsd/cm_daemon.c b/src/WINNT/afsd/cm_daemon.c index 24019cf71..8e1467730 100644 --- a/src/WINNT/afsd/cm_daemon.c +++ b/src/WINNT/afsd/cm_daemon.c @@ -463,12 +463,14 @@ void cm_Daemon(long parm) lastDownServerCheck = now; osi_Log0(afsd_logp, "cm_Daemon CheckDownServers"); cm_CheckServers(CM_FLAG_CHECKDOWNSERVERS, NULL); - if (daemon_ShutdownFlag == 1 || powerStateSuspended) + if (daemon_ShutdownFlag == 1) break; now = osi_Time(); } - if (bAddrChangeCheck) + if (bAddrChangeCheck && + daemon_ShutdownFlag == 0 && + powerStateSuspended == 0) cm_ForceNewConnectionsAllServers(); /* check up servers */ @@ -478,12 +480,14 @@ void cm_Daemon(long parm) lastUpServerCheck = now; osi_Log0(afsd_logp, "cm_Daemon CheckUpServers"); cm_CheckServers(CM_FLAG_CHECKUPSERVERS, NULL); - if (daemon_ShutdownFlag == 1 || powerStateSuspended) + if (daemon_ShutdownFlag == 1) break; now = osi_Time(); } - if (bAddrChangeCheck) { + if (bAddrChangeCheck && + daemon_ShutdownFlag == 0 && + powerStateSuspended == 0) { smb_CheckVCs(); cm_VolStatus_Network_Addr_Change(); } @@ -493,7 +497,7 @@ void cm_Daemon(long parm) powerStateSuspended == 0) { lastVolCheck = now; cm_RefreshVolumes(); - if (daemon_ShutdownFlag == 1 || powerStateSuspended) + if (daemon_ShutdownFlag == 1) break; now = osi_Time(); } @@ -504,7 +508,7 @@ void cm_Daemon(long parm) powerStateSuspended == 0) { lastVolCBRenewalCheck = now; cm_VolumeRenewROCallbacks(); - if (daemon_ShutdownFlag == 1 || powerStateSuspended) + if (daemon_ShutdownFlag == 1) break; now = osi_Time(); } @@ -514,7 +518,7 @@ void cm_Daemon(long parm) powerStateSuspended == 0) { lastVolCheck = now; cm_CheckOfflineVolumes(); - if (daemon_ShutdownFlag == 1 || powerStateSuspended) + if (daemon_ShutdownFlag == 1) break; now = osi_Time(); } @@ -524,7 +528,7 @@ void cm_Daemon(long parm) powerStateSuspended == 0) { lastCBExpirationCheck = now; cm_CheckCBExpiration(); - if (daemon_ShutdownFlag == 1 || powerStateSuspended) + if (daemon_ShutdownFlag == 1) break; now = osi_Time(); } @@ -534,7 +538,7 @@ void cm_Daemon(long parm) powerStateSuspended == 0) { lastLockCheck = now; cm_CheckLocks(); - if (daemon_ShutdownFlag == 1 || powerStateSuspended) + if (daemon_ShutdownFlag == 1) break; now = osi_Time(); } @@ -544,7 +548,7 @@ void cm_Daemon(long parm) powerStateSuspended == 0) { lastTokenCacheCheck = now; cm_CheckTokenCache(now); - if (daemon_ShutdownFlag == 1 || powerStateSuspended) + if (daemon_ShutdownFlag == 1) break; now = osi_Time(); } @@ -566,10 +570,11 @@ void cm_Daemon(long parm) { SetEvent(WaitToTerminate); } - } - if (daemon_ShutdownFlag == 1 || powerStateSuspended) { - break; + if (daemon_ShutdownFlag == 1) { + break; + } + now = osi_Time(); } if (cm_daemonPerformanceTuningInterval && @@ -578,7 +583,7 @@ void cm_Daemon(long parm) powerStateSuspended == 0) { lastPerformanceCheck = now; cm_PerformanceTuningCheck(); - if (daemon_ShutdownFlag == 1 || powerStateSuspended) + if (daemon_ShutdownFlag == 1) break; now = osi_Time(); }