Merge pull request #107 from jonasj76/inetd-stop-children

Stop inetd spawned child processes when stopping inetd service
This commit is contained in:
Joachim Nilsson
2018-03-23 15:48:02 +01:00
committed by GitHub
+11
View File
@@ -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);
}
}
}
}