summaryrefslogtreecommitdiff
path: root/server-tools/instance-manager/IMService.cpp
diff options
context:
space:
mode:
authorunknown <reggie@ubuntu.(none)>2005-09-13 14:53:19 -0500
committerunknown <reggie@ubuntu.(none)>2005-09-13 14:53:19 -0500
commitb2c2df650a57bea868d1b4a7bbfdff7407370df1 (patch)
tree9526667b98692215b3c525821064ff5229e93cd8 /server-tools/instance-manager/IMService.cpp
parenta1d03c13ff339fd2cc2eb51853b7882c239a40aa (diff)
downloadmariadb-git-b2c2df650a57bea868d1b4a7bbfdff7407370df1.tar.gz
fixed the service bits of the IM
server-tools/instance-manager/IMService.cpp: * setting username and password to NULL so that the IM runs at LocalSystem (this should be changed soon) * implemented stop service by raising a sigterm * implemented start service by loading options and calling manager() server-tools/instance-manager/IMService.h: changed the sig for Run() server-tools/instance-manager/WindowsService.cpp: default debugging to false changed the sig of RuN() server-tools/instance-manager/WindowsService.h: change the sig of run() server-tools/instance-manager/instance.cc: * remove the inclusion of process.h * concat all args into a single buffer to pass to CreateProcess server-tools/instance-manager/instance_options.cc: quoting the binary to handle paths with quotes server-tools/instance-manager/listener.cc: use a timeval for select so that our select will only run for 100 msec before we check to see if we are shutting down server-tools/instance-manager/mysqlmanager.cc: if we are given the stand alone option, then run the manager as standalone server-tools/instance-manager/options.cc: Added stand alone command line arg server-tools/instance-manager/options.h: Added stand alone command line arg
Diffstat (limited to 'server-tools/instance-manager/IMService.cpp')
-rw-r--r--server-tools/instance-manager/IMService.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/server-tools/instance-manager/IMService.cpp b/server-tools/instance-manager/IMService.cpp
index e040a5da8c2..b7ea8e7eb81 100644
--- a/server-tools/instance-manager/IMService.cpp
+++ b/server-tools/instance-manager/IMService.cpp
@@ -1,12 +1,16 @@
#include <windows.h>
+#include <signal.h>
#include "log.h"
#include "options.h"
#include "IMService.h"
+#include "manager.h"
IMService::IMService(void)
{
serviceName= "MySqlManager";
displayName= "MySQL Manager";
+ username= NULL;
+ password= NULL;
}
IMService::~IMService(void)
@@ -16,18 +20,25 @@ IMService::~IMService(void)
void IMService::Stop()
{
ReportStatus(SERVICE_STOP_PENDING);
+
// stop the IM work
+ raise(SIGTERM);
}
-void IMService::Run()
+void IMService::Run(DWORD argc, LPTSTR *argv)
{
// report to the SCM that we're about to start
ReportStatus((DWORD)SERVICE_START_PENDING);
+ Options o;
+ o.load(argc, argv);
+
// init goes here
ReportStatus((DWORD)SERVICE_RUNNING);
// wait for main loop to terminate
+ manager(o);
+ o.cleanup();
}
void IMService::Log(const char *msg)