Age | Commit message (Collapse) | Author |
|
Previously, the exec server did not set the name of the servers
started before the proc server. Instead this was done by the startup
server, but this was merely a workaround, missing notably the startup
server itself.
* exec/exec.c (set_name): New function.
(do_exec): Move the code setting the name to a new function, and also
call it if the proc server is not started yet.
* startup/startup.c (run): Drop hack.
|
|
* startup/startup.c (launch_core_servers): Add more error handling.
|
|
Previously, the proc server did not call `startup_essential_task'
until it got the message port of the startup server using
`proc_setmsgport'.
Now that we have `/servers/startup', we can do this in main, before we
start our message service loop.
A complication arises because the traditional startup server is
single-threaded. Handle this by tweaking startup not to bind itself
to `/servers/startup' before it is ready.
* proc/main.c (main): Try to lookup `/servers/startup' and send the
message here, or...
* proc/msg.c (S_proc_setmsgport): ... fall back to the old way here.
* proc/proc.h (startup_fallback): New variable.
* startup/startup.c (main): Move code installing ourself on `/servers/startup'
(install_as_translator): ... here.
(launch_core_servers): And use it here, just before we reply to `/hurd/auth'.
|
|
* startup/startup.c (run): Name the tasks we start.
|
|
For reference, this patch was created using the following semantic
patch, and then manually applying the change in all functions
containing nested functions, as those are not supported by Coccinelle.
@@
expression A, B;
@@
- bzero (A, B)
+ memset (A, 0, B)
* auth/auth.c: Replace `bzero' with `memset'.
* boot/boot.c: Likewise.
* defpager/defpager.c: Likewise.
* exec/exec.c: Likewise. Also, drop `safe_bzero' and just use
`hurd_safe_memset' directly.
* ext2fs/ext2fs.c: Likewise.
* ext2fs/getblk.c: Likewise.
* ext2fs/pager.c: Likewise.
* fatfs/pager.c: Likewise.
* ftpfs/dir.c: Likewise.
* ftpfs/netfs.c: Likewise.
* isofs/inode.c: Likewise.
* isofs/pager.c: Likewise.
* libdiskfs/file-getfh.c: Likewise.
* libdiskfs/file-statfs.c: Likewise.
* libfshelp/fetch-root.c: Likewise.
* libfshelp/start-translator.c: Likewise.
* libftpconn/create.c: Likewise.
* libftpconn/open.c: Likewise.
* libftpconn/unix.c: Likewise.
* libpipe/pipe.c: Likewise.
* libps/procstat.c: Likewise.
* libps/spec.c: Likewise.
* libshouldbeinlibc/cacheq.c: Likewise.
* libshouldbeinlibc/idvec.c: Likewise.
* libshouldbeinlibc/ugids.c: Likewise.
* libstore/argp.c: Likewise.
* libstore/enc.c: Likewise.
* libstore/kids.c: Likewise.
* libthreads/alpha/thread.c: Likewise.
* libtreefs/fsys.c: Likewise.
* libtrivfs/file-statfs.c: Likewise.
* mach-defpager/default_pager.c: Likewise.
* pfinet/glue-include/asm/uaccess.h: Likewise.
* pfinet/io-ops.c: Likewise.
* pfinet/options.c: Likewise.
* pfinet/socket.c: Likewise.
* pfinet/timer-emul.c: Likewise.
* pflocal/io.c: Likewise.
* startup/startup.c: Likewise.
* storeio/storeio.c: Likewise.
* sutils/fstab.c: Likewise.
* usermux/usermux.c: Likewise.
* utils/fakeauth.c: Likewise.
* utils/frobauth.c: Likewise.
* utils/login.c: Likewise.
* utils/x.c: Likewise.
|
|
startup does not use libports. Therefor, it is not necessary to use the
default payload to port translation function.
* startup/Makefile (MIGSFLAGS): Disable the default payload to port
translation function.
|
|
* startup/startup.c (main): Also open `console' for reading.
|
|
Previously, the Hurd (ab)used the fact that the startup server speaks
all protocols on its message port. Any server that wished to register
for shutdown notifications would use proc_getmsgport to get a port to
the startup server.
This hardcodes the PID of /hurd/startup, and does not allow one to
point a server to ones own startup server (e.g. using remap).
Bind the startup server to /servers/startup instead. Use this to
contact the startup server.
* exec/main.c (S_exec_init): Use /servers/startup. Fall back to the
old method so that the system still boots when the node
/servers/startup is missing.
* hurd/paths.h (_SERVERS_STARTUP): New macro.
* libdiskfs/boot-start.c (diskfs_S_fsys_init): Use /servers/startup.
* libdiskfs/init-startup.c (_diskfs_init_completed): Likewise.
* pfinet/main.c (arrange_shutdown_notification): Likewise.
* startup/Makefile (OBJS): Add fsysServer.o.
* startup/startup.c (demuxer): Handle the fsys protocol.
(main): Bind to /servers/startup.
(S_fsys_getroot): Implement fsys_getroot. Stub out the rest.
|
|
* startup/startup.c (demuxer): Fix the declaration of the server functions.
|
|
Use the BOOT macro to print either halt or reboot instead of the
generic shutdown in the event of an system shutdown.
* startup/startup.c (reboot_system): Use more specific message.
|
|
Formerly /hurd/startup would forward all signals to the child it
started (e.g. /libexec/runsystem).
The motivation for doing so is not revealed in the comments, nor it is
mentioned in the history of the version control system.
This patch removes the forwarding of signals to the child.
* startup/startup.c (process_signal): Do not pass signals on to the child.
* startup/stubs.c: Remove file.
* startup/Makefile: Remove stubs.c.
|
|
This patch series splits /hurd/init into two programs. As a first
step, this patch renames /hurd/init to /hurd/startup. It is called
startup because it speaks the startup protocol.
* startup: Rename init to startup. Adjust accordingly.
* Makefile (prog-subdirs): Likewise.
* doc/hurd.texi (Server Bootstrap): Likewise.
* hurd/paths.h (_HURD_STARTUP): Likewise.
* libdiskfs/boot-start.c (diskfs_boot_init_program): Likewise.
* libdiskfs/opts-std-startup.c (startup_options): Likewise.
|