[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Make sysvinit pid 1, fix killall5



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


Reply to: