[SERVICES]
authorEric Kohl <eric.kohl@reactos.org>
Thu, 2 Oct 2014 16:20:42 +0000 (16:20 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Thu, 2 Oct 2014 16:20:42 +0000 (16:20 +0000)
ScmWaitForServiceConnect: Log some more warnings and errors.

svn path=/trunk/; revision=64465

reactos/base/system/services/database.c

index 4ae8473..d3850bb 100644 (file)
@@ -1339,6 +1339,9 @@ ScmWaitForServiceConnect(PSERVICE Service)
 #ifdef USE_ASYNCHRONOUS_IO
     OVERLAPPED Overlapped = {0};
 #endif
 #ifdef USE_ASYNCHRONOUS_IO
     OVERLAPPED Overlapped = {0};
 #endif
+    LPCWSTR lpErrorStrings[3];
+    WCHAR szBuffer1[20];
+    WCHAR szBuffer2[20];
 
     DPRINT("ScmWaitForServiceConnect()\n");
 
 
     DPRINT("ScmWaitForServiceConnect()\n");
 
@@ -1370,6 +1373,15 @@ ScmWaitForServiceConnect(PSERVICE Service)
                     DPRINT1("CancelIo() failed (Error: %lu)\n", GetLastError());
                 }
 
                     DPRINT1("CancelIo() failed (Error: %lu)\n", GetLastError());
                 }
 
+                _ultow(PipeTimeout, szBuffer1, 10);
+                lpErrorStrings[0] = Service->lpDisplayName;
+                lpErrorStrings[1] = szBuffer1;
+
+                ScmLogEvent(EVENT_CONNECTION_TIMEOUT,
+                            EVENTLOG_ERROR_TYPE,
+                            2,
+                            lpErrorStrings);
+
                 return ERROR_SERVICE_REQUEST_TIMEOUT;
             }
             else if (dwError == WAIT_OBJECT_0)
                 return ERROR_SERVICE_REQUEST_TIMEOUT;
             }
             else if (dwError == WAIT_OBJECT_0)
@@ -1425,6 +1437,14 @@ ScmWaitForServiceConnect(PSERVICE Service)
                     DPRINT1("CancelIo() failed (Error: %lu)\n", GetLastError());
                 }
 
                     DPRINT1("CancelIo() failed (Error: %lu)\n", GetLastError());
                 }
 
+                _ultow(PipeTimeout, szBuffer1, 10);
+                lpErrorStrings[0] = szBuffer1;
+
+                ScmLogEvent(EVENT_READFILE_TIMEOUT,
+                            EVENTLOG_ERROR_TYPE,
+                            2,
+                            lpErrorStrings);
+
                 return ERROR_SERVICE_REQUEST_TIMEOUT;
             }
             else if (dwError == WAIT_OBJECT_0)
                 return ERROR_SERVICE_REQUEST_TIMEOUT;
             }
             else if (dwError == WAIT_OBJECT_0)
@@ -1456,18 +1476,20 @@ ScmWaitForServiceConnect(PSERVICE Service)
             return dwError;
         }
     }
             return dwError;
         }
     }
-    else
+
+    if (dwProcessId != Service->lpImage->dwProcessId)
     {
     {
-        if (dwProcessId != Service->lpImage->dwProcessId)
-        {
-/*
-            LPWSTR Strings[3]
+        _ultow(Service->lpImage->dwProcessId, szBuffer1, 10);
+        _ultow(dwProcessId, szBuffer2, 10);
 
 
-            ScmLogError(EVENT_SERVICE_DIFFERENT_PID_CONNECTED,
-                        3,
-                        lpStrings);
-*/
-        }
+        lpErrorStrings[0] = Service->lpDisplayName;
+        lpErrorStrings[1] = szBuffer1;
+        lpErrorStrings[2] = szBuffer2;
+
+        ScmLogEvent(EVENT_SERVICE_DIFFERENT_PID_CONNECTED,
+                    EVENTLOG_WARNING_TYPE,
+                    3,
+                    lpErrorStrings);
     }
 
     DPRINT("ScmWaitForServiceConnect() done\n");
     }
 
     DPRINT("ScmWaitForServiceConnect() done\n");