[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Make sysvinit pid 1, fix killall5
From: |
Justus Winter |
Subject: |
Make sysvinit pid 1, fix killall5 |
Date: |
Mon, 5 Aug 2013 12:06:24 +0200 |
Hi,
this is a unified patch series fixing all sysvinit related issues.
[PATCH 01/16] hurd: add missing routines in process_reply.defs
[PATCH 02/16] Define and use symbolic names for important processes
These can be merged now.
[PATCH 03/16] Add proc_set_init_task, make runsystem pid 1
This needs a libc fix, as changing /hurd/inits pid breaks the
ABI. libcs reboot () hardcodes the pid of /hurd/init. A possible
migration path is having reboot () signal both pid 1 and 2. A proper
and hurdish fix would be to look up the port using /servers/startup or
the like.
[PATCH 04/16] proc: make the function check_owner available
[PATCH 05/16] proc: add proc_mark_important server code
[PATCH 06/16] hurd: add proc_mark_important
[PATCH 07/16] init: Mark all of inits children and init itself as
[PATCH 08/16] libdiskfs: register libdiskfs-based translators as
[PATCH 09/16] libnetfs: register libnetfs-based translators as
[PATCH 10/16] libtrivfs: register libtrivfs-based translators as
[PATCH 11/16] mach-defpager: register mach-defpager translators as
[PATCH 12/16] trans: register symlink translators as important
Add routines to mark processes as important and to retrieve that
information. Explicitly mark translators running as root as important.
A word regarding the terminology. I have chosen "important" over
"essential" as done in the original patch to differentiate from
/hurd/inits use of "essential". Anyone not happy with "important" owes
me a beer for not saying so earlier ;)
[PATCH 13/16] proc: keep track of {start,end}_code
[PATCH 14/16] hurd: add proc_{get,set}_code
[PATCH 15/16] exec: keep track of the range where executable
This makes killall5 actually kill any process at all. Previously those
values (obtained from /proc/*/stat) were hardcoded to 0 making
killall5 consider all processes "kernel" processes that are to be left
alone.
I'll send an patch for procfs as a follow up.
[PATCH 16/16] Build fixes: Build processUser.o and link against it
Not sure about this one. As we need to touch and rebuild the libc,
this is probably not needed.
Justus
- Make sysvinit pid 1, fix killall5,
Justus Winter <=
- [PATCH 02/16] Define and use symbolic names for important processes, Justus Winter, 2013/08/05
- [PATCH 01/16] hurd: add missing routines in process_reply.defs, Justus Winter, 2013/08/05
- [PATCH 04/16] proc: make the function check_owner available, Justus Winter, 2013/08/05
- [PATCH 03/16] Add proc_set_init_task, make runsystem pid 1, Justus Winter, 2013/08/05
- [PATCH 05/16] proc: add proc_mark_important server code, Justus Winter, 2013/08/05
- [PATCH 06/16] hurd: add proc_mark_important, Justus Winter, 2013/08/05
- [PATCH 07/16] init: Mark all of inits children and init itself as important, Justus Winter, 2013/08/05
- [PATCH 08/16] libdiskfs: register libdiskfs-based translators as important, Justus Winter, 2013/08/05
- [PATCH 09/16] libnetfs: register libnetfs-based translators as important, Justus Winter, 2013/08/05
- [PATCH 10/16] libtrivfs: register libtrivfs-based translators as important, Justus Winter, 2013/08/05