Dolda2000 GitWeb
/
ashd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added a simple CGI endcap.
[ashd.git]
/
src
/
htparser.c
diff --git
a/src/htparser.c
b/src/htparser.c
index
4924b98
..
5d7a932
100644
(file)
--- a/
src/htparser.c
+++ b/
src/htparser.c
@@
-300,6
+300,7
@@
static void serve(struct muth *muth, va_list args)
vavar(int, fd);
vavar(struct sockaddr_storage, name);
int cfd;
vavar(int, fd);
vavar(struct sockaddr_storage, name);
int cfd;
+ int pfds[2];
char old;
char *hd, *p;
struct charbuf inbuf, outbuf;
char old;
char *hd, *p;
struct charbuf inbuf, outbuf;
@@
-352,8
+353,12
@@
static void serve(struct muth *muth, va_list args)
}
if(block(plex, EV_WRITE, 60) <= 0)
goto out;
}
if(block(plex, EV_WRITE, 60) <= 0)
goto out;
- if(
(cfd = sendreq(plex, req)) < 0
)
+ if(
socketpair(PF_UNIX, SOCK_STREAM, 0, pfds)
)
goto out;
goto out;
+ if(sendreq(plex, req, pfds[0]))
+ goto out;
+ close(pfds[0]);
+ cfd = pfds[1];
/*
* If there is message data, pass it:
/*
* If there is message data, pass it: