This bug was fixed several years ago. You should update to a current release. This ITS will be closed.
mark.lakes@alcatel-lucent.com wrote:
Full_Name: Mark Lakes Version: 2.1.22 OS: Windows URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (198.206.187.100)
Summary: LDAP service stops when user logs off.
The LDAP server is registered as a Windows Service and works correctly with SCM. It is registered as an automatic service so should be running all the time. When a user logs off from the box, the logoff triggers the service to stop running. This happens on WindowsXP and Windows 2003 Server that are configured on a Domain.
I have a solution. The problem is that despite the fact it is a service, it receives an event called CTRL_LOGOFF_EVENT. Since it is not handling this event, the default behavior by Windows is to shutdown the service. Add the following code to the source at an appropriate place(probably somewhere in ntservice.c) for when it runs as a service:
/** This is used to handle CTRL_LOGOFF_EVENT from shutting us down when we are running as a service. Return TRUE works. We dont really care what the crtlType is. */ BOOL WINAPI WinSigHANDLER_ROUTINE(DWORD ctrlType) { /* char logstr[256]; sprintf(logstr, "NTservice: caught signal(%d)\n", ctrlType); writeStatusLog(logstr); switch (ctrlType) { case CTRL_LOGOFF_EVENT: ... default:
} */ return TRUE; }
Then, register the above function in the appropriate place as follows: SetConsoleCtrlHandler(WinSigHANDLER_ROUTINE, TRUE);