Windows: RDRLib Worker Thread shutdown
[openafs.git] / src / WINNT / afsrdr / kernel / lib / AFSWorker.cpp
index f42860c..ed912c3 100644 (file)
@@ -790,14 +790,14 @@ AFSWorkerThread( IN PVOID Context)
         }
     } // worker thread loop
 
-    ClearFlag( pPoolContext->State, AFS_WORKER_INITIALIZED);
-
     // Wake up another worker so they too can exit
 
     KeSetEvent( &pControlDevExt->Specific.Control.WorkerQueueHasItems,
                 0,
                 FALSE);
 
+    ClearFlag( pPoolContext->State, AFS_WORKER_INITIALIZED);
+
     PsTerminateSystemThread( 0);
 
     return;
@@ -940,14 +940,14 @@ AFSIOWorkerThread( IN PVOID Context)
         }
     } // worker thread loop
 
-    ClearFlag( pPoolContext->State, AFS_WORKER_INITIALIZED);
-
     // Wake up another IOWorker so they too can exit
 
     KeSetEvent( &pControlDevExt->Specific.Control.IOWorkerQueueHasItems,
                 0,
                 FALSE);
 
+    ClearFlag( pPoolContext->State, AFS_WORKER_INITIALIZED);
+
     PsTerminateSystemThread( 0);
 
     return;