Commit d57c7dcf authored by Tatiana A. Nurnberg's avatar Tatiana A. Nurnberg

auto-merge

parents ae0c6a94 c3f07acf
...@@ -3840,6 +3840,9 @@ we force server id to 2, but this MySQL server will not act as a slave."); ...@@ -3840,6 +3840,9 @@ we force server id to 2, but this MySQL server will not act as a slave.");
: mysqld_unix_port), : mysqld_unix_port),
mysqld_port, mysqld_port,
MYSQL_COMPILATION_COMMENT); MYSQL_COMPILATION_COMMENT);
#if defined(_WIN32) && !defined(EMBEDDED_LIBRARY)
Service.SetRunning();
#endif
#if defined(__NT__) || defined(HAVE_SMEM) #if defined(__NT__) || defined(HAVE_SMEM)
handle_connections_methods(); handle_connections_methods();
......
...@@ -245,10 +245,6 @@ void NTService::ServiceMain(DWORD argc, LPTSTR *argv) ...@@ -245,10 +245,6 @@ void NTService::ServiceMain(DWORD argc, LPTSTR *argv)
if (!pService->StartService()) if (!pService->StartService())
goto error; 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 // wait for exit event
WaitForSingleObject (pService->hExitEvent, INFINITE); WaitForSingleObject (pService->hExitEvent, INFINITE);
...@@ -264,6 +260,14 @@ void NTService::ServiceMain(DWORD argc, LPTSTR *argv) ...@@ -264,6 +260,14 @@ void NTService::ServiceMain(DWORD argc, LPTSTR *argv)
return; return;
} }
void NTService::SetRunning()
{
if (pService)
pService->SetStatus(SERVICE_RUNNING,NO_ERROR, 0, 0, 0);
}
/* ------------------------------------------------------------------------ /* ------------------------------------------------------------------------
StartService() - starts the appliaction thread StartService() - starts the appliaction thread
-------------------------------------------------------------------------- */ -------------------------------------------------------------------------- */
......
...@@ -56,7 +56,19 @@ class NTService ...@@ -56,7 +56,19 @@ class NTService
BOOL IsService(LPCSTR ServiceName); BOOL IsService(LPCSTR ServiceName);
BOOL got_service_option(char **argv, char *service_option); BOOL got_service_option(char **argv, char *service_option);
BOOL is_super_user(); 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: protected:
LPSTR ServiceName; LPSTR ServiceName;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment