Dolda2000 GitWeb
/
ashd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Link to relevant RFCs from manpages.
[ashd.git]
/
lib
/
cf.c
diff --git
a/lib/cf.c
b/lib/cf.c
index
f55a620
..
432f78a
100644
(file)
--- a/
lib/cf.c
+++ b/
lib/cf.c
@@
-232,10
+232,11
@@
char *findstdconf(char *name)
if((p2 = strrchr(p, '/')) == NULL)
continue;
*p2 = 0;
if((p2 = strrchr(p, '/')) == NULL)
continue;
*p2 = 0;
- if(!access(t = sprintf
3
("%s/etc/%s", p, name), R_OK)) {
+ if(!access(t = sprintf
2
("%s/etc/%s", p, name), R_OK)) {
free(path);
free(path);
- return(
sstrdup(t)
);
+ return(
t
);
}
}
+ free(t);
}
free(path);
return(NULL);
}
free(path);
return(NULL);
@@
-325,16
+326,16
@@
struct child *parsechild(struct cfstate *s)
return(ch);
}
return(ch);
}
-int childhandle(struct child *ch, struct hthead *req, int fd)
+int childhandle(struct child *ch, struct hthead *req, int fd
, void (*chinit)(void *), void *idata
)
{
if(ch->type == CH_SOCKET) {
if(ch->fd < 0)
{
if(ch->type == CH_SOCKET) {
if(ch->fd < 0)
- ch->fd = stdmkchild(ch->argv);
+ ch->fd = stdmkchild(ch->argv
, chinit, idata
);
if(sendreq(ch->fd, req, fd)) {
if(errno == EPIPE) {
/* Assume that the child has crashed and restart it. */
close(ch->fd);
if(sendreq(ch->fd, req, fd)) {
if(errno == EPIPE) {
/* Assume that the child has crashed and restart it. */
close(ch->fd);
- ch->fd = stdmkchild(ch->argv);
+ ch->fd = stdmkchild(ch->argv
, chinit, idata
);
if(!sendreq(ch->fd, req, fd))
return(0);
}
if(!sendreq(ch->fd, req, fd))
return(0);
}
@@
-344,7
+345,7
@@
int childhandle(struct child *ch, struct hthead *req, int fd)
return(-1);
}
} else if(ch->type == CH_FORK) {
return(-1);
}
} else if(ch->type == CH_FORK) {
- if(stdforkserve(ch->argv, req, fd) < 0)
+ if(stdforkserve(ch->argv, req, fd
, chinit, idata
) < 0)
return(-1);
}
return(0);
return(-1);
}
return(0);