projects
/
project
/
uhttpd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ccd9717
)
Revert "proc: avoid stdio deadlocks"
author
Jo-Philipp Wich
<jo@mein.io>
Wed, 4 Apr 2018 13:56:21 +0000
(15:56 +0200)
committer
Jo-Philipp Wich
<jo@mein.io>
Wed, 4 Apr 2018 13:56:21 +0000
(15:56 +0200)
This reverts commit
ccd9717ba5d501b45fda957f0ea41c4660ef414c
.
proc.c
patch
|
blob
|
history
diff --git
a/proc.c
b/proc.c
index edfcc8f33c6024e50a1c1bdfed51897d6f8aa20c..e360897467ef94f56035c463fffe5fa232560e02 100644
(file)
--- a/
proc.c
+++ b/
proc.c
@@
-265,7
+265,6
@@
static void proc_write_cb(struct uloop_fd *fd, unsigned int events)
struct client *cl = container_of(fd, struct client, dispatch.proc.wrfd);
client_poll_post_data(cl);
struct client *cl = container_of(fd, struct client, dispatch.proc.wrfd);
client_poll_post_data(cl);
- cl->dispatch.data_blocked = false;
}
static void proc_relay_write_cb(struct client *cl)
}
static void proc_relay_write_cb(struct client *cl)
@@
-292,10
+291,8
@@
static int proc_data_send(struct client *cl, const char *data, int len)
if (errno == EINTR)
continue;
if (errno == EINTR)
continue;
- if (errno == EAGAIN || errno == EWOULDBLOCK) {
- cl->dispatch.data_blocked = true;
+ if (errno == EAGAIN || errno == EWOULDBLOCK)
break;
break;
- }
/* consume all data */
ret = len;
/* consume all data */
ret = len;
@@
-369,7
+366,6
@@
bool uh_create_process(struct client *cl, struct path_info *pi, char *url,
proc->wrfd.fd = wfd[1];
uh_relay_open(cl, &proc->r, rfd[0], pid);
proc->wrfd.fd = wfd[1];
uh_relay_open(cl, &proc->r, rfd[0], pid);
- uloop_fd_add(&proc->wrfd, ULOOP_WRITE);
d->free = proc_free;
d->close_fds = proc_close_fds;
d->free = proc_free;
d->close_fds = proc_close_fds;