iRunning scripts should now exit as expected. - geomyidae - A small C-based gopherd. Err bitreich.org 70 hgit clone git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/ URL:git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/ bitreich.org 70 1Log /scm/geomyidae/log.gph bitreich.org 70 1Files /scm/geomyidae/files.gph bitreich.org 70 1Refs /scm/geomyidae/refs.gph bitreich.org 70 1Tags /scm/geomyidae/tag bitreich.org 70 1README /scm/geomyidae/file/README.gph bitreich.org 70 1LICENSE /scm/geomyidae/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 9556d3960086cdf6365a612823915fd6a9906bac /scm/geomyidae/commit/9556d3960086cdf6365a612823915fd6a9906bac.gph bitreich.org 70 1parent 0bbe73dae350eaa6ae6cf712d91b90c9ae760c53 /scm/geomyidae/commit/0bbe73dae350eaa6ae6cf712d91b90c9ae760c53.gph bitreich.org 70 hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70 iDate: Mon, 7 Mar 2011 22:01:11 +0100 Err bitreich.org 70 i Err bitreich.org 70 iRunning scripts should now exit as expected. Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M handlr.c | 13 ++++++++++++- Err bitreich.org 70 i M main.c | 1 + Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 13 insertions(+), 1 deletion(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/handlr.c b/handlr.c /scm/geomyidae/file/handlr.c.gph bitreich.org 70 i@@ -15,6 +15,7 @@ Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i+#include Err bitreich.org 70 i #include "ind.h" Err bitreich.org 70 i #include "arg.h" Err bitreich.org 70 i Err bitreich.org 70 i@@ -177,6 +178,16 @@ handlecgi(int sock, char *file, char *port, char *base, char *args, Err bitreich.org 70 i if(sear == nil) Err bitreich.org 70 i sear = ""; Err bitreich.org 70 i Err bitreich.org 70 i- execl(file, p, sear, args, (char *)nil); Err bitreich.org 70 i+ switch(fork()) { Err bitreich.org 70 i+ case 0: Err bitreich.org 70 i+ execl(file, p, sear, args, (char *)nil); Err bitreich.org 70 i+ case -1: Err bitreich.org 70 i+ break; Err bitreich.org 70 i+ default: Err bitreich.org 70 i+ wait(NULL); Err bitreich.org 70 i+ shutdown(sock, SHUT_RDWR); Err bitreich.org 70 i+ close(sock); Err bitreich.org 70 i+ break; Err bitreich.org 70 i+ } Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 1diff --git a/main.c b/main.c /scm/geomyidae/file/main.c.gph bitreich.org 70 i@@ -212,6 +212,7 @@ sighandler(int sig) Err bitreich.org 70 i case SIGQUIT: Err bitreich.org 70 i case SIGABRT: Err bitreich.org 70 i case SIGTERM: Err bitreich.org 70 i+ case SIGKILL: Err bitreich.org 70 i if(logfile != nil) Err bitreich.org 70 i stoplogging(glfd); Err bitreich.org 70 i if(listfd >= 0) Err bitreich.org 70 .