]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: Prevent cm_daemon thread from terminating during suspend
authorJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 15 Aug 2009 01:40:22 +0000 (21:40 -0400)
committerJeffrey Altman <jaltman@openafs.org>
Sat, 15 Aug 2009 11:07:05 +0000 (04:07 -0700)
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 <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
src/WINNT/afsd/cm_daemon.c

index 24019cf71a7fa5b0276cdba9ee2c6a94d560e94e..8e1467730b40e266e2b59f4a20d8ea467fca81a6 100644 (file)
@@ -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();
         }