aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMattias Andrée <maandree@member.fsf.org>2015-12-29 21:45:34 +0100
committerMattias Andrée <maandree@member.fsf.org>2015-12-29 21:45:34 +0100
commit4b2206f9ec3ce66dfd4d358bf43c6623e712e1a7 (patch)
tree2c27c4f821d226efb5b9f50c83847c6a8e8ed1e4 /src
parentclose the timers when running job/hook (diff)
downloadsat-4b2206f9ec3ce66dfd4d358bf43c6623e712e1a7.tar.gz
sat-4b2206f9ec3ce66dfd4d358bf43c6623e712e1a7.tar.bz2
sat-4b2206f9ec3ce66dfd4d358bf43c6623e712e1a7.tar.xz
just make real sure that we do not quit whilst there are queued jobs
Signed-off-by: Mattias Andrée <maandree@member.fsf.org>
Diffstat (limited to 'src')
-rw-r--r--src/satd-diminished.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/satd-diminished.c b/src/satd-diminished.c
index 43017fa..5316398 100644
--- a/src/satd-diminished.c
+++ b/src/satd-diminished.c
@@ -187,6 +187,7 @@ main(int argc, char *argv[], char *envp[])
int fd = -1, rc = 0, accepted = 0, r;
unsigned char type;
fd_set fdset;
+ struct stat attr;
/* Set up signal handlers. */
t (signal(SIGHUP, sighandler) == SIG_ERR);
@@ -197,6 +198,11 @@ again:
if (accepted && (timer_pid == NO_TIMER_SPAWNED)) {
t (r = is_timer_set(BOOT_FILENO), r < 0); if (r) goto not_done;
t (r = is_timer_set(REAL_FILENO), r < 0); if (r) goto not_done;
+ t (fstat(STATE_FILENO, &attr));
+ if (attr.st_size > (off_t)sizeof(size_t)) {
+ t (spawn(-1, -1, argv, envp));
+ goto not_done;
+ }
goto done;
}
not_done: