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);
|
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[]) {
|
int main(int argc, char *argv[]) {
|
||||||
setprogname(argv[0]);
|
setprogname(argv[0]);
|
||||||
|
|
||||||
@ -284,8 +292,7 @@ int main(int argc, char *argv[]) {
|
|||||||
for (size_t i = 0; i < services.len; ++i) {
|
for (size_t i = 0; i < services.len; ++i) {
|
||||||
serviceStart(&services.ptr[i]);
|
serviceStart(&services.ptr[i]);
|
||||||
}
|
}
|
||||||
|
setTitle();
|
||||||
// TODO: setproctitle to number of services currently running.
|
|
||||||
|
|
||||||
sigset_t mask;
|
sigset_t mask;
|
||||||
sigemptyset(&mask);
|
sigemptyset(&mask);
|
||||||
@ -359,6 +366,7 @@ int main(int argc, char *argv[]) {
|
|||||||
serviceStart(service);
|
serviceStart(service);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
setTitle();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (signals[SIGCHLD]) {
|
if (signals[SIGCHLD]) {
|
||||||
@ -368,6 +376,7 @@ int main(int argc, char *argv[]) {
|
|||||||
serviceReap(pid, status);
|
serviceReap(pid, status);
|
||||||
}
|
}
|
||||||
if (pid < 0 && errno != ECHILD) syslog(LOG_WARNING, "waitpid: %m");
|
if (pid < 0 && errno != ECHILD) syslog(LOG_WARNING, "waitpid: %m");
|
||||||
|
setTitle();
|
||||||
signals[SIGCHLD] = 0;
|
signals[SIGCHLD] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -388,6 +397,7 @@ int main(int argc, char *argv[]) {
|
|||||||
close(fifo);
|
close(fifo);
|
||||||
unlink(fifoPath);
|
unlink(fifoPath);
|
||||||
|
|
||||||
|
setproctitle("stopping");
|
||||||
size_t count = 0;
|
size_t count = 0;
|
||||||
for (size_t i = 0; i < services.len; ++i) {
|
for (size_t i = 0; i < services.len; ++i) {
|
||||||
serviceStop(&services.ptr[i]);
|
serviceStop(&services.ptr[i]);
|
||||||
|
Loading…
Reference in New Issue
Block a user