diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2016-02-17 08:26:42 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2016-02-17 08:30:12 +0200 |
commit | e430f586ccf6621136089fb1d9d865ce1a351360 (patch) | |
tree | af09d48b994a55752f210b29cb73f147e5b7f728 /src/progman.c | |
parent | bd8bd1640c72ceefd87b46a7a3d378c78c9081f5 (diff) | |
download | pies-e430f586ccf6621136089fb1d9d865ce1a351360.tar.gz pies-e430f586ccf6621136089fb1d9d865ce1a351360.tar.bz2 |
Fix state transitions
* src/pies.c (main): Move call to pies_schedule_children
to inittrans.
* src/progman.c (progman_cleanup): Minor change.
* src/sysvinit.c (enablecomp): Change prog status
to stopped when leaving its runlevel.
(sysvinit_set_runlevel): Raise SIGALRM instead of calling
inittrans directly.
(inittrans): Fix wait logic.
Diffstat (limited to 'src/progman.c')
-rw-r--r-- | src/progman.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/progman.c b/src/progman.c index d6929d6..9641629 100644 --- a/src/progman.c +++ b/src/progman.c @@ -2331,9 +2331,12 @@ progman_cleanup (int expect_term) sysvinit_acct (SYSV_ACCT_PROC_STOP, "", prog_tag (prog), pid, ""); prog->v.p.status = status_finished; + if (prog->v.p.wait) - pies_schedule_children (PIES_CHLD_WAKEUP); - prog->v.p.wait = 0; + { + pies_schedule_children (PIES_CHLD_WAKEUP); + prog->v.p.wait = 0; + } } else { |