aboutsummaryrefslogtreecommitdiffstats
path: root/slowcgi.c
diff options
context:
space:
mode:
authorflorian2013-10-21 18:17:58 +0000
committerWynn Wolf Arbor2020-05-24 12:33:55 +0200
commit2ecbfa371fdab5e5b5dbeb1481ca05a0c9ce19fc (patch)
treef3a877ccc77851033b47f5b0b05516431c0b66e1 /slowcgi.c
parentd7b438e2207b0ed633c174da96ec47cdab1d1821 (diff)
downloadslowcgi-2ecbfa371fdab5e5b5dbeb1481ca05a0c9ce19fc.tar.gz
Check for EINTR, too. pointed out by deraadt@
Diffstat (limited to '')
-rw-r--r--slowcgi.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/slowcgi.c b/slowcgi.c
index a7122db..a0c0aec 100644
--- a/slowcgi.c
+++ b/slowcgi.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: slowcgi.c,v 1.21 2013/10/21 18:16:28 florian Exp $ */
+/* $OpenBSD: slowcgi.c,v 1.22 2013/10/21 18:17:58 florian Exp $ */
/*
* Copyright (c) 2013 David Gwynne <dlg@openbsd.org>
* Copyright (c) 2013 Florian Obser <florian@openbsd.org>
@@ -537,7 +537,7 @@ slowcgi_response(int fd, short events, void *arg)
n = write(fd, resp->data + resp->data_pos, resp->data_len);
if (n == -1) {
- if (errno == EAGAIN)
+ if (errno == EAGAIN || errno == EINTR)
return;
cleanup_request(c);
return;
@@ -998,7 +998,7 @@ script_out(int fd, short events, void *arg)
}
n = write(fd, node->data + node->data_pos, node->data_len);
if (n == -1) {
- if (errno == EAGAIN)
+ if (errno == EAGAIN || errno == EINTR)
return;
event_del(&c->script_stdin_ev);
return;