MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Tatiana A. Nurnberg Date:November 27 2008 11:51am
Subject:bzr commit into mysql-5.0-bugteam branch (azundris:2726)
View as plain text  
#At file:///misc/mysql/forest/37553/50-37553/

 2726 Tatiana A. Nurnberg	2008-11-27 [merge]
      auto-merge
modified:
  sql/mysqld.cc
  sql/nt_servc.cc
  sql/nt_servc.h

=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc	2008-10-09 07:26:42 +0000
+++ b/sql/mysqld.cc	2008-11-14 01:01:41 +0000
@@ -3840,6 +3840,9 @@ we force server id to 2, but this MySQL
                                                        : mysqld_unix_port),
                          mysqld_port,
                          MYSQL_COMPILATION_COMMENT);
+#if defined(_WIN32) && !defined(EMBEDDED_LIBRARY)
+  Service.SetRunning();
+#endif
 
 #if defined(__NT__) || defined(HAVE_SMEM)
   handle_connections_methods();

=== modified file 'sql/nt_servc.cc'
--- a/sql/nt_servc.cc	2004-03-25 21:29:45 +0000
+++ b/sql/nt_servc.cc	2008-11-14 01:01:41 +0000
@@ -245,10 +245,6 @@ void NTService::ServiceMain(DWORD argc,
   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);
 
@@ -264,6 +260,14 @@ error:
   return;
 }
 
+
+void NTService::SetRunning()
+{
+  if (pService)
+    pService->SetStatus(SERVICE_RUNNING,NO_ERROR, 0, 0, 0);
+}
+
+
 /* ------------------------------------------------------------------------
    StartService() - starts the appliaction thread
  -------------------------------------------------------------------------- */

=== modified file 'sql/nt_servc.h'
--- a/sql/nt_servc.h	2005-02-09 20:02:48 +0000
+++ b/sql/nt_servc.h	2008-11-14 01:01:41 +0000
@@ -56,7 +56,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;

Thread
bzr commit into mysql-5.0-bugteam branch (azundris:2726) Tatiana A. Nurnberg27 Nov