DEVEL15-windows-power-mgmt-20080105
authorJeffrey Altman <jaltman@secure-endpoints.com>
Sun, 6 Jan 2008 06:26:04 +0000 (06:26 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sun, 6 Jan 2008 06:26:04 +0000 (06:26 +0000)
LICENSE MIT

Log more power mgmt events.

Do not permit a smb reinitialization when in a suspended state

Periodically check to see if the LAN adapter is -1.  If so, try to
reinitialize the smb stack.

(cherry picked from commit 6887c0e5b2b766b06c7e76a5ce28b84ed52df1d5)

src/WINNT/afsd/afsd_service.c
src/WINNT/afsd/smb.c

index 3887214..ed0fc1f 100644 (file)
@@ -250,6 +250,11 @@ afsd_ServiceControlHandlerEx(
     {
     case SERVICE_CONTROL_SHUTDOWN:
     case SERVICE_CONTROL_STOP:
+       if (ctrlCode == SERVICE_CONTROL_SHUTDOWN)
+           afsi_log("SERVICE_CONTROL_SHUTDOWN");
+       else
+            afsi_log("SERVICE_CONTROL_STOP");
+
         ServiceStatus.dwCurrentState = SERVICE_STOP_PENDING;
         ServiceStatus.dwWin32ExitCode = NO_ERROR;
         ServiceStatus.dwCheckPoint = 1;
index 1f08b3f..9b5c8a6 100644 (file)
@@ -8761,8 +8761,9 @@ void smb_LanAdapterChange(void) {
     char          NetbiosName[MAX_NB_NAME_LENGTH] = "";
     int           change = 0;
 
-    if (SUCCEEDED(lana_GetUncServerNameEx(NetbiosName, &lanaNum, &bGateway, 
-                                                  LANA_NETBIOS_NAME_FULL))) {
+    if (!powerStateSuspended && 
+        SUCCEEDED(lana_GetUncServerNameEx(NetbiosName, &lanaNum, &bGateway, 
+                                          LANA_NETBIOS_NAME_FULL))) {
         if (smb_LANadapter != lanaNum ||
             isGateway != bGateway ||
             strcmp(cm_NetbiosName, NetbiosName))
@@ -8975,7 +8976,7 @@ int smb_NetbiosInit(void)
     /* we're done with the NCB now */
     FreeNCB(ncbp);
 
-    return (lana_list.length > 0 ? 1 : 0);
+    return ((lana_list.length > 0 && smb_LANadapter != -1) ? 1 : 0);
 }
 
 void smb_StartListeners()
@@ -9006,9 +9007,13 @@ void smb_StartListeners()
 
 void smb_RestartListeners()
 {
-    if (!powerStateSuspended && smb_ListenerState == SMB_LISTENER_STOPPED) {
-       if (smb_NetbiosInit())
-           smb_StartListeners();
+    if (!powerStateSuspended) {
+       if (smb_ListenerState == SMB_LISTENER_STOPPED) {
+               if (smb_NetbiosInit())
+                   smb_StartListeners();
+       }
+       if (smb_LANadapter == -1)
+               smb_LanAdapterChange();
     }
 }