summaryrefslogtreecommitdiff
path: root/node/Service.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'node/Service.cpp')
-rw-r--r--node/Service.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/node/Service.cpp b/node/Service.cpp
index c614e4e4..0d4702f8 100644
--- a/node/Service.cpp
+++ b/node/Service.cpp
@@ -62,7 +62,7 @@ Service::Service(const RuntimeEnvironment *renv,const char *name,const char *pat
_childStderr(0),
_run(true)
{
- start();
+ _thread = Thread<Service>::start(this);
}
Service::~Service()
@@ -77,14 +77,14 @@ Service::~Service()
pid = 0;
break;
}
- Thread::sleep(100);
+ Thread<Service>::sleep(100);
}
if (pid > 0) {
::kill(pid,SIGKILL);
waitpid(pid,&st,0);
}
}
- join();
+ Thread<Service>::join(_thread);
}
bool Service::send(const Dictionary &msg)
@@ -107,7 +107,7 @@ bool Service::send(const Dictionary &msg)
return true;
}
-void Service::main()
+void Service::threadMain()
throw()
{
char buf[131072];
@@ -136,7 +136,7 @@ void Service::main()
close(in[0]);
close(out[1]);
close(err[1]);
- Thread::sleep(500); // give child time to start
+ Thread<Service>::sleep(500); // give child time to start
_childStdin = in[1];
_childStdout = out[0];
_childStderr = err[0];
@@ -168,7 +168,7 @@ void Service::main()
LOG("service %s exited with exit code: %d, delaying 1s to attempt relaunch",_name.c_str(),st);
- Thread::sleep(1000); // wait to relaunch
+ Thread<Service>::sleep(1000); // wait to relaunch
continue;
}
}