iFixing the socket handling and add signals to clients. - 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 dde23cfc01e8301d4263976f711f616f156932f7 /scm/geomyidae/commit/dde23cfc01e8301d4263976f711f616f156932f7.gph bitreich.org 70 1parent 8e2c7276d2fa5fd44602707bd0621e0a91646bb8 /scm/geomyidae/commit/8e2c7276d2fa5fd44602707bd0621e0a91646bb8.gph bitreich.org 70 hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70 iDate: Sat, 21 Jul 2012 20:58:29 +0200 Err bitreich.org 70 i Err bitreich.org 70 iFixing the socket handling and add signals to clients. Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M handlr.c | 4 ---- Err bitreich.org 70 i M main.c | 9 ++++++++- Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 8 insertions(+), 5 deletions(-) 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@@ -163,8 +163,6 @@ handlecgi(int sock, char *file, char *port, char *base, char *args, Err bitreich.org 70 i wait(NULL); Err bitreich.org 70 i if (path != nil) Err bitreich.org 70 i free(path); 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@@ -228,8 +226,6 @@ handledcgi(int sock, char *file, char *port, char *base, char *args, Err bitreich.org 70 i wait(NULL); Err bitreich.org 70 i if (path != nil) Err bitreich.org 70 i free(path); 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 1diff --git a/main.c b/main.c /scm/geomyidae/file/main.c.gph bitreich.org 70 i@@ -421,9 +421,15 @@ main(int argc, char *argv[]) Err bitreich.org 70 i switch(fork()) { Err bitreich.org 70 i case -1: Err bitreich.org 70 i perror("fork"); Err bitreich.org 70 i- close(sock); Err bitreich.org 70 i+ shutdown(sock, SHUT_RDWR); Err bitreich.org 70 i break; Err bitreich.org 70 i case 0: Err bitreich.org 70 i+ signal(SIGHUP, SIG_DFL); Err bitreich.org 70 i+ signal(SIGQUIT, SIG_DFL); Err bitreich.org 70 i+ signal(SIGINT, SIG_DFL); Err bitreich.org 70 i+ signal(SIGTERM, SIG_DFL); Err bitreich.org 70 i+ signal(SIGALRM, SIG_DFL); Err bitreich.org 70 i+ Err bitreich.org 70 i handlerequest(sock, base, ohost, sport, clienth, Err bitreich.org 70 i clientp); Err bitreich.org 70 i shutdown(sock, SHUT_RDWR); Err bitreich.org 70 i@@ -432,6 +438,7 @@ main(int argc, char *argv[]) Err bitreich.org 70 i default: Err bitreich.org 70 i break; Err bitreich.org 70 i } Err bitreich.org 70 i+ close(sock); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i shutdown(listfd, SHUT_RDWR); Err bitreich.org 70 .