mirror of
https://github.com/troglobit/finit.git
synced 2026-10-02 05:52:48 +07:00
Merge pull request #107 from jonasj76/inetd-stop-children
Stop inetd spawned child processes when stopping inetd service
This commit is contained in:
+11
@@ -351,9 +351,20 @@ void inetd_stop(inetd_t *inetd)
|
||||
* and halt the watcher, so don't close the socket!
|
||||
*/
|
||||
if (!svc_is_busy(inetd->svc)) {
|
||||
svc_t *svc, *iter = NULL;
|
||||
|
||||
_d("Shutting down inet socket %d ...", inetd->watcher.fd);
|
||||
close(inetd->watcher.fd);
|
||||
inetd->watcher.fd = -1;
|
||||
|
||||
svc = svc_job_iterator(&iter, 1, inetd->svc->job);
|
||||
while (svc) {
|
||||
if (!svc_is_inetd(svc)) {
|
||||
svc_stop(svc);
|
||||
service_step(svc);
|
||||
}
|
||||
svc = svc_job_iterator(&iter, 0, inetd->svc->job);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user