show error/warning on fork failure - geomyidae - A small C-based gopherd. HTML git clone git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/ DIR Log DIR Files DIR Refs DIR Tags DIR README DIR LICENSE --- DIR commit 60e5e4b10104014295dd9c9867900f4c72a8cffe DIR parent 50fd214b77643c6291a45132706cab4bfba6db7e HTML Author: Hiltjo Posthuma <hiltjo@codemadness.org> Date: Sat, 23 Sep 2017 13:05:07 +0200 show error/warning on fork failure this can be useful if there are process resource constraints set also. Signed-off-by: Christoph Lohmann <20h@r-36.net> Diffstat: M handlr.c | 2 ++ M main.c | 11 +++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) --- DIR diff --git a/handlr.c b/handlr.c @@ -169,6 +169,7 @@ handlecgi(int sock, char *file, char *port, char *base, char *args, _exit(1); } case -1: + perror("fork"); break; default: wait(NULL); @@ -227,6 +228,7 @@ handledcgi(int sock, char *file, char *port, char *base, char *args, _exit(1); } case -1: + perror("fork"); break; default: dup2(sock, 1); DIR diff --git a/main.c b/main.c @@ -401,8 +401,15 @@ main(int argc, char *argv[]) } } - if(dofork && fork() != 0) - return 0; + if(dofork) { + switch(fork()) { + case -1: + perror("fork"); + return 1; + default: + return 0; + } + } if(logfile != nil) { glfd = initlogging(logfile);