Browse Source

merge

pull/374/head
Vladislav Vaintroub 17 years ago
parent
commit
bebde5dba0
  1. 3
      sql/mysqld.cc
  2. 19
      sql/nt_servc.cc
  3. 14
      sql/nt_servc.h

3
sql/mysqld.cc

@ -4368,6 +4368,9 @@ we force server id to 2, but this MySQL server will not act as a slave.");
: mysqld_unix_port),
mysqld_port,
MYSQL_COMPILATION_COMMENT);
#if defined(_WIN32) && !defined(EMBEDDED_LIBRARY)
Service.SetRunning();
#endif
/* Signal threads waiting for server to be started */

19
sql/nt_servc.cc

@ -255,10 +255,6 @@ void NTService::ServiceMain(DWORD argc, LPTSTR *argv)
if (!pService->StartService())
goto error;
// Check that the service is now running.
if (!pService->SetStatus(SERVICE_RUNNING,NO_ERROR, 0, 0, 0))
goto error;
// wait for exit event
WaitForSingleObject (pService->hExitEvent, INFINITE);
@ -274,9 +270,18 @@ error:
return;
}
/**
starts the appliaction thread.
*/
void NTService::SetRunning()
{
if (pService)
pService->SetStatus(SERVICE_RUNNING,NO_ERROR, 0, 0, 0);
}
/* ------------------------------------------------------------------------
StartService() - starts the application thread
-------------------------------------------------------------------------- */
BOOL NTService::StartService()
{

14
sql/nt_servc.h

@ -60,7 +60,19 @@ class NTService
BOOL IsService(LPCSTR ServiceName);
BOOL got_service_option(char **argv, char *service_option);
BOOL is_super_user();
void Stop(void); //to be called from app. to stop service
/*
SetRunning() is to be called by the application
when initialization completes and it can accept
stop request
*/
void SetRunning(void);
/*
Stop() is to be called by the application to stop
the service
*/
void Stop(void);
protected:
LPSTR ServiceName;

Loading…
Cancel
Save