Dolda2000 GitWeb
/
ashd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
python: Emulate the previous `-l' option to ashd-wsgi3.
[ashd.git]
/
src
/
multifscgi.c
diff --git
a/src/multifscgi.c
b/src/multifscgi.c
index
6692402
..
a865ec7
100644
(file)
--- a/
src/multifscgi.c
+++ b/
src/multifscgi.c
@@
-23,6
+23,7
@@
#include <signal.h>
#include <sys/wait.h>
#include <time.h>
#include <signal.h>
#include <sys/wait.h>
#include <time.h>
+#include <errno.h>
#ifdef HAVE_CONFIG_H
#include <config.h>
#ifdef HAVE_CONFIG_H
#include <config.h>
@@
-37,6
+38,7
@@
static volatile int done, chdone;
static void runchild(void)
{
execvp(chspec[0], chspec);
static void runchild(void)
{
execvp(chspec[0], chspec);
+ fprintf(stderr, "%s: %s", chspec[0], strerror(errno));
exit(127);
}
exit(127);
}
@@
-64,6
+66,8
@@
static void manage(void)
pselect(0, NULL, NULL, NULL, NULL, &ns);
if(chdone) {
while((ch = waitpid(-1, &st, WNOHANG)) > 0) {
pselect(0, NULL, NULL, NULL, NULL, &ns);
if(chdone) {
while((ch = waitpid(-1, &st, WNOHANG)) > 0) {
+ if(WCOREDUMP(st))
+ fprintf(stderr, "multifscgi: child %i (%s) dumped core\n", ch, chspec[0]);
for(i = 0; i < nchildren; i++) {
if(children[i] == ch)
children[i] = 0;
for(i = 0; i < nchildren; i++) {
if(children[i] == ch)
children[i] = 0;
@@
-106,6
+110,8
@@
static void killall(void)
pselect(0, NULL, NULL, NULL, &to, &ns);
if(chdone) {
while((ch = waitpid(-1, &st, WNOHANG)) > 0) {
pselect(0, NULL, NULL, NULL, &to, &ns);
if(chdone) {
while((ch = waitpid(-1, &st, WNOHANG)) > 0) {
+ if(WCOREDUMP(st))
+ fprintf(stderr, "multifscgi: child %i (%s) dumped core\n", ch, chspec[0]);
for(i = 0; i < nchildren; i++) {
if(children[i] == ch)
children[i] = 0;
for(i = 0; i < nchildren; i++) {
if(children[i] == ch)
children[i] = 0;
@@
-133,14
+139,14
@@
static void term(int sig)
static void usage(FILE *out)
{
static void usage(FILE *out)
{
- fprintf(out, "usage: multifscgi NUM PROGRAM [ARGS...]\n");
+ fprintf(out, "usage: multifscgi
[-h]
NUM PROGRAM [ARGS...]\n");
}
int main(int argc, char **argv)
{
int c;
}
int main(int argc, char **argv)
{
int c;
- while((c = getopt(argc, argv, "h")) >= 0) {
+ while((c = getopt(argc, argv, "
+
h")) >= 0) {
switch(c) {
case 'h':
usage(stdout);
switch(c) {
case 'h':
usage(stdout);