minix/minix
David van Moolenbroek e3f3566e33 RS: clean up dead services during shutdown
Previously, RS would clean up dead services only when it is idle.
During shutdown, all services are marked with the 'exiting' flag,
and these flags lead RS to conclude it is not idle.  Therefore, at
shutdown time, no services were cleaned up anymore, leading to
deadlock situations.  For example, VFS could end up waiting for a
service that was already dead, or one driver could end up waiting
for an interrupt on a line shared with another dead driver.

While it may be possible to ignore RS_EXITING when checking idle
status, other flags may have the same ultimate effect.  Therefore,
this patch skips the idle check altogether when in shutdown mode.

Change-Id: I071fa9545da1d43c5e5c2e0bc2b6c173e3bb57c3
2015-09-16 15:31:29 +00:00
..
bin New sources layout 2014-07-31 16:00:30 +02:00
commands rs: New RS. 2015-09-16 15:30:48 +00:00
drivers libsys: Change SEF Live Update state callback API. 2015-09-16 11:03:17 +00:00
fs procfs: do not list init in /proc/services 2015-09-07 22:56:19 +00:00
include rs: New RS. 2015-09-16 15:30:48 +00:00
kernel vm: Separate mmap regions. 2015-09-16 11:06:17 +00:00
lib sef: Extensions for new RS. 2015-09-16 15:30:34 +00:00
llvm minix/llvm/passes/Makefile.inc: Fix 2014-08-29 12:56:57 -04:00
man Import NetBSD syslogd(8) 2015-07-26 11:57:04 +00:00
net inet: resolve some compile and runtime warnings 2015-09-01 16:21:20 +00:00
sbin New sources layout 2014-07-31 16:00:30 +02:00
servers RS: clean up dead services during shutdown 2015-09-16 15:31:29 +00:00
share New sources layout 2014-07-31 16:00:30 +02:00
tests VFS: check X bit, not R bit, opening executables 2015-08-31 12:55:55 +00:00
usr.bin VFS: add support for F_DUPFD_CLOEXEC 2015-07-20 13:55:10 +00:00
usr.sbin mkfs.mfs: remove Linux mount check 2015-07-20 10:59:49 +00:00
Makefile benchmarks: remove unixbench 2015-07-20 11:05:28 +00:00
Makefile.inc New sources layout 2014-07-31 16:00:30 +02:00