Windows: short circuit background volume checks for shutdown
authorJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 29 Sep 2009 12:29:55 +0000 (14:29 +0200)
committerJeffrey Altman <jaltman|account-1000011@unknown>
Tue, 29 Sep 2009 21:18:30 +0000 (14:18 -0700)
If the service is shutting down or the machine is entering
a suspend state, short circuit the background volume checks
to permit faster shutdown.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/552
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

src/WINNT/afsd/cm_volume.c

index 491d533..b449295 100644 (file)
@@ -1727,9 +1727,13 @@ cm_VolumeRenewROCallbacks(void)
 {
     cm_volume_t * volp;
     time_t minexp = time(NULL) + 90 * 60;
+    extern int daemon_ShutdownFlag;
+    extern int powerStateSuspended;
 
     lock_ObtainRead(&cm_volumeLock);
-    for (volp = cm_data.allVolumesp; volp; volp=volp->allNextp) {
+    for (volp = cm_data.allVolumesp;
+         volp && !daemon_ShutdownFlag && !powerStateSuspended;
+         volp=volp->allNextp) {
         if ( volp->cbExpiresRO > 0 && volp->cbExpiresRO < minexp) {
             cm_req_t      req;
             cm_fid_t      fid;