From 0fdeada154476b6a140d8548aa8f44f1d1efeb90 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Wed, 20 Jul 2011 14:12:42 -0400 Subject: [PATCH] Windows: Add shutdown event log message Add an explicit message that the shutdown sequence is complete. This is necessary because during a Windows OS shutdown, the service is frequently killed prior to the memory mapped file is fully released. Reviewed-on: http://gerrit.openafs.org/5053 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from e91f16ebb704a431f9731bb39bf9b5621b7f6ad0) Change-Id: I80685fae2b581171c580b039ae029ca69bea467c Reviewed-on: http://gerrit.openafs.org/5132 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- src/WINNT/afsd/afsd_eventlog.c | 1 + src/WINNT/afsd/afsd_eventmessages.mc | 8 ++++++++ src/WINNT/afsd/afsd_service.c | 2 ++ 3 files changed, 11 insertions(+) diff --git a/src/WINNT/afsd/afsd_eventlog.c b/src/WINNT/afsd/afsd_eventlog.c index 9634337fc..e73179f0d 100644 --- a/src/WINNT/afsd/afsd_eventlog.c +++ b/src/WINNT/afsd/afsd_eventlog.c @@ -201,6 +201,7 @@ LogEvent(WORD wEventType, DWORD dwEventID, ...) case MSG_SERVICE_INCORRECT_VERSIONS: case MSG_SERVICE_RUNNING: case MSG_SERVICE_STOPPING: + case MSG_SERVICE_STOPPED: case MSG_SERVICE_ERROR_STOP: case MSG_CRYPT_OFF: case MSG_CRYPT_ON: diff --git a/src/WINNT/afsd/afsd_eventmessages.mc b/src/WINNT/afsd/afsd_eventmessages.mc index 7bbc0d35f..c42f74846 100644 --- a/src/WINNT/afsd/afsd_eventmessages.mc +++ b/src/WINNT/afsd/afsd_eventmessages.mc @@ -438,4 +438,12 @@ Language=English Busy call channel when communicating with server %1, retrying ... . +MessageId= +Severity=Informational +Facility=System +SymbolicName=MSG_SERVICE_STOPPED +Language=English +OpenAFS Shutdown Complete. +. + ;#endif /* __AFSD_EVENTMESSAGES_H_ 1 */ diff --git a/src/WINNT/afsd/afsd_service.c b/src/WINNT/afsd/afsd_service.c index 847e4b0ae..016848c59 100644 --- a/src/WINNT/afsd/afsd_service.c +++ b/src/WINNT/afsd/afsd_service.c @@ -1502,6 +1502,8 @@ afsd_Main(DWORD argc, LPTSTR *argv) /* Remove the ExceptionFilter */ SetUnhandledExceptionFilter(NULL); + LogEvent(EVENTLOG_INFORMATION_TYPE, MSG_SERVICE_STOPPED); + if (bRunningAsService) { ServiceStatus.dwCurrentState = SERVICE_STOPPED; ServiceStatus.dwWin32ExitCode = GlobalStatus ? ERROR_EXCEPTION_IN_SERVICE : NO_ERROR; -- 2.39.5