minix/etc
David van Moolenbroek 910831cb5c PM: generic process event publish/subscribe system
Now that there are services other than PM and VFS that implement
userland system calls directly, these services may need to know about
events related to user processes.  In particular, signal delivery may
have to interrupt blocking system calls, and certain cleanup tasks may
have to be performed after a user process exits.

This patch aims to implement a generic, lasting solution for this
problem, by allowing services to subscribe to "signal delivered"
and/or "process exit" events from PM.  PM publishes such events by
sending messages to its subscribed services, which must then reply an
acknowledgment message.

For now, only the two aforementioned events are implemented, and only
the IPC service makes use of the process event facility.

The new process event publish/subscribe system replaces the previous
VM notify-sig/watch-exit/query-exit system, which was unsound: 1) it
allowed subscription to events from individual processes, and suffered
from fundamental race conditions as a result; 2) it relied on "not too
many" processes making use of the IPC server functionality in order to
avoid loss of notifications.  In addition, it had the "ipc" process
name hardcoded, did not distinguish between signal delivery and exits,
and added a roundtrip to VM for all events from all processes.

Change-Id: I75ebad4bc54e646c6433f473294cb4003b2c3430
2016-01-16 14:04:10 +01:00
..
defaults Move all services to /service 2014-07-31 16:00:31 +02:00
devmand Much USB code for ARM USB support 2014-08-29 18:52:49 +02:00
fonts support for ukranian (charse koi8-u) contributed by Roman Ignatov. 2010-06-08 01:04:52 +00:00
mtree NetBSD re-synchronization of the source tree 2016-01-13 20:32:14 +01:00
rc.capes Move all services to /service 2014-07-31 16:00:31 +02:00
root NetBSD re-synchronization of the source tree 2016-01-13 20:32:14 +01:00
skel Import NetBSD shell environment files 2014-11-10 16:48:56 +01:00
usr Import NetBSD dev_mkdb(8) 2016-01-13 20:32:51 +01:00
boot.cfg.default some small changes 2014-08-28 18:49:03 +02:00
crontab version /usr/lib/crontab too 2007-04-02 16:18:46 +00:00
csh.cshrc Import NetBSD shell environment files 2014-11-10 16:48:56 +01:00
csh.login Import NetBSD shell environment files 2014-11-10 16:48:56 +01:00
csh.logout Import NetBSD shell environment files 2014-11-10 16:48:56 +01:00
gettytab big <utmp.h>-inspired netbsd switch 2014-03-01 09:05:02 +01:00
group Switch to NetBSD passwd format 2011-11-14 14:47:42 +00:00
hostname.file Made things a little more boot-cd friendly (specifically readonly /usr). 2005-05-03 08:56:01 +00:00
inet.conf Initial revision 2005-04-21 14:53:53 +00:00
Makefile Install xorg.conf which loads all extensions. 2016-01-13 20:32:24 +01:00
Makefile.params NetBSD re-synchronization of the source tree 2016-01-13 20:32:14 +01:00
man.conf NetBSD re-synchronization of the source tree 2016-01-13 20:32:14 +01:00
master.passwd Removing /home/bin 2014-08-07 14:01:30 +02:00
mk.conf mk.conf: workaround for pkgin sourcing it 2013-05-16 11:13:00 +00:00
motd Set the motd to point to a wiki page. 2014-09-13 23:56:50 +02:00
newfstab.sh mainstream-format fstab format 2011-11-14 14:47:28 +00:00
profile Import NetBSD shell environment files 2014-11-10 16:48:56 +01:00
protocols NetBSD re-synchronization of the source tree 2016-01-13 20:32:14 +01:00
rc Add MIB service, sysctl(2) support 2016-01-13 20:32:37 +01:00
rc.cd New image framework generation 2015-10-10 19:09:35 +02:00
rc.conf NetBSD re-synchronization of the source tree 2016-01-13 20:32:14 +01:00
rc.daemons.dist Import NetBSD rcmd, rcp, rsh, rshd 2015-09-23 12:03:06 +00:00
rc.shutdown big <utmp.h>-inspired netbsd switch 2014-03-01 09:05:02 +01:00
rc.subr NetBSD re-synchronization of the source tree 2016-01-13 20:32:14 +01:00
resolv.conf add /etc/resolv.conf pointing to minix nonamed 2011-07-26 18:03:04 +02:00
rs.inet rs: New RS. 2015-09-16 15:30:48 +00:00
rs.single Removed args debugging line 2007-02-16 15:58:05 +00:00
services NetBSD re-synchronization of the source tree 2016-01-13 20:32:14 +01:00
shells Add /bin/false to /etc/shells 2014-07-28 17:05:22 +02:00
shrc Import NetBSD shell environment files 2014-11-10 16:48:56 +01:00
syslog.conf Import NetBSD syslogd(8) 2015-07-26 11:57:04 +00:00
system.conf PM: generic process event publish/subscribe system 2016-01-16 14:04:10 +01:00
termcap Remove revision IDs from files 2010-11-04 01:13:59 +00:00
termcap.big Remove revision IDs from files 2010-11-04 01:13:59 +00:00
ttys big <utmp.h>-inspired netbsd switch 2014-03-01 09:05:02 +01:00
utmp Initial revision 2005-04-21 14:53:53 +00:00
xorg.conf Install xorg.conf which loads all extensions. 2016-01-13 20:32:24 +01:00