aboutsummaryrefslogtreecommitdiff
path: root/src/progman.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2009-10-16 00:05:23 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2009-10-16 01:16:12 +0300
commita0631c9ac2c13c3ef1db027a490620504a287d3f (patch)
tree5cc3c9d5b588974eee29d17c724dbdd8551dfdc8 /src/progman.c
parent9670b8cada0df307c6ffd9be1b14f5dfd51cc958 (diff)
downloadpies-a0631c9ac2c13c3ef1db027a490620504a287d3f.tar.gz
pies-a0631c9ac2c13c3ef1db027a490620504a287d3f.tar.bz2
Various improvements.
* configure.ac (AC_CHECK_FUNCS): Check for vsyslog. * src/diag.c (syslog_printer) [!HAVE_VSYSLOG]: call syslog. * src/pies.c (component_keywords): Remove settle-timeout, replace it with pass-fd-timeout. (main): Force syslog logging if !foreground. Do not close first three fds before restarting if log_to_stderr is set. * src/pies.h (DEFAULT_PASS_FD_TIMEOUT): New constant. (struct component): Replace settle_timeout with pass_fd_timeout. All uses changed. (pass_fd): Pass timeout as argument. * src/progman.c (prog_start): Remove hardcoded sleep before calling pass_fd. Update call to pass_fd. (prog_start_prerequisites): Remove handling of settle_timeout. * src/socket.c (open_unix_socket): Remove. (pass_fd): Rewrite. * doc/pies.texi: Update.
Diffstat (limited to 'src/progman.c')
-rw-r--r--src/progman.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/progman.c b/src/progman.c
index 7438837..cc107f7 100644
--- a/src/progman.c
+++ b/src/progman.c
@@ -773,8 +773,9 @@ prog_start (struct prog *prog)
default:
if (prog->v.p.comp->mode == pies_comp_pass_fd)
{
- sleep(1);
- pass_fd (prog->v.p.comp->pass_fd_socket, prog->v.p.socket);
+ pass_fd (prog->v.p.comp->pass_fd_socket, prog->v.p.socket,
+ prog->v.p.comp->pass_fd_timeout ?
+ prog->v.p.comp->pass_fd_timeout : DEFAULT_PASS_FD_TIMEOUT);
/* FIXME: Error code */;
}
if (prog->v.p.comp->mode != pies_comp_exec)
@@ -1164,7 +1165,6 @@ prog_start_prerequisites (struct prog *prog)
{
int i;
int ret;
- unsigned settle_timeout = 0;
if (!prog->prereq)
return 0; /* Ok to startup */
@@ -1203,11 +1203,7 @@ prog_start_prerequisites (struct prog *prog)
prog_start (prog_lookup_by_tag (prog->prereq[i]));
if (!(dp->v.p.status == status_enabled && dp->pid))
ret = 1;
- else
- settle_timeout = prog->v.p.comp->settle_timeout;
}
- if (ret == 0 && settle_timeout)
- sleep (settle_timeout);
return ret;
}

Return to:

Send suggestions and report system problems to the System administrator.