Call setproctitle with number of services
This commit is contained in:
parent
6fb08baee3
commit
1e1a848f22
14
daemon.c
14
daemon.c
@ -179,6 +179,14 @@ static void parseInterval(const char *millis) {
|
||||
restartInterval.tv_nsec = 1000000 * (ms % 1000);
|
||||
}
|
||||
|
||||
static void setTitle(void) {
|
||||
size_t started = 0;
|
||||
for (size_t i = 0; i < services.len; ++i) {
|
||||
if (services.ptr[i].state == Start) started++;
|
||||
}
|
||||
setproctitle("%zu/%zu services", started, services.len);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
setprogname(argv[0]);
|
||||
|
||||
@ -284,8 +292,7 @@ int main(int argc, char *argv[]) {
|
||||
for (size_t i = 0; i < services.len; ++i) {
|
||||
serviceStart(&services.ptr[i]);
|
||||
}
|
||||
|
||||
// TODO: setproctitle to number of services currently running.
|
||||
setTitle();
|
||||
|
||||
sigset_t mask;
|
||||
sigemptyset(&mask);
|
||||
@ -359,6 +366,7 @@ int main(int argc, char *argv[]) {
|
||||
serviceStart(service);
|
||||
}
|
||||
}
|
||||
setTitle();
|
||||
}
|
||||
|
||||
if (signals[SIGCHLD]) {
|
||||
@ -368,6 +376,7 @@ int main(int argc, char *argv[]) {
|
||||
serviceReap(pid, status);
|
||||
}
|
||||
if (pid < 0 && errno != ECHILD) syslog(LOG_WARNING, "waitpid: %m");
|
||||
setTitle();
|
||||
signals[SIGCHLD] = 0;
|
||||
}
|
||||
|
||||
@ -388,6 +397,7 @@ int main(int argc, char *argv[]) {
|
||||
close(fifo);
|
||||
unlink(fifoPath);
|
||||
|
||||
setproctitle("stopping");
|
||||
size_t count = 0;
|
||||
for (size_t i = 0; i < services.len; ++i) {
|
||||
serviceStop(&services.ptr[i]);
|
||||
|
Loading…
Reference in New Issue
Block a user