iHandle EINTR while dup2() in handlecgi(). - 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 6dc65c6ce9c4a41c034aa1f21d9ff2a1573efde4 /scm/geomyidae/commit/6dc65c6ce9c4a41c034aa1f21d9ff2a1573efde4.gph bitreich.org 70 1parent 73b1a17ecfe53540e39ca60059235ce91c70c932 /scm/geomyidae/commit/73b1a17ecfe53540e39ca60059235ce91c70c932.gph bitreich.org 70 hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70 iDate: Sat, 22 Jul 2023 17:17:35 +0200 Err bitreich.org 70 i Err bitreich.org 70 iHandle EINTR while dup2() in handlecgi(). Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M handlr.c | 6 +++--- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 3 insertions(+), 3 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@@ -167,9 +167,9 @@ handlecgi(int sock, char *file, char *port, char *base, char *args, Err bitreich.org 70 i if (args == NULL) Err bitreich.org 70 i args = ""; Err bitreich.org 70 i Err bitreich.org 70 i- dup2(sock, 0); Err bitreich.org 70 i- dup2(sock, 1); Err bitreich.org 70 i- dup2(sock, 2); Err bitreich.org 70 i+ while (dup2(sock, 0) < 0 && errno == EINTR); Err bitreich.org 70 i+ while (dup2(sock, 1) < 0 && errno == EINTR); Err bitreich.org 70 i+ while (dup2(sock, 2) < 0 && errno == EINTR); Err bitreich.org 70 i switch (fork()) { Err bitreich.org 70 i case 0: Err bitreich.org 70 i if (path != NULL) { Err bitreich.org 70 .