summaryrefslogtreecommitdiff
path: root/init/init.c
AgeCommit message (Collapse)Author
2001-01-072000-12-21 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* init.c (process_rc_script): If malloc fails, return ENOMEM. Reported by Igor Khavkine <i_khavki@alcor.concordia.ca>.
2000-03-172000-03-17 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* init.c (launch_core_servers): Don't use MOVE_SEND in Hurd RPCs.
2000-03-132000-03-13 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* stubs.c (send_signal): Make MESSAGE auto instead of static. Take new argument TIMEOUT, passed to mach_msg instead of zero. (send_signal): For MACH_SEND_TIMED_OUT failure, destroy the pseudo-received message to avoid leaking send rights. * init.c (process_signal): Pass new argument, timeout of 500 ms.
1999-10-021999-09-28 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* init.c (frob_kernel_process): Allocate the kernel's page in the actual kernel task, not in our own. I wonder how this ever worked. Also if we fail in that allocation, free the page we allocated in our own space.
1999-09-051999-08-24 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* init.c (notify_shutdown): Add const to argument type.
1999-07-111999-07-09 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* init.c (frob_kernel_process): Use mmap instead of vm_allocate.
1999-07-111999-07-10 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* init.c: Add #include <sys/mman.h> for munmap decl.
1999-07-031999-07-03 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* init.c (reboot_system): Use munmap instead of vm_deallocate. (frob_kernel_process): Likewise. (kill_everyone): Likewise.
1999-06-191999-06-19 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* init.c (open_console): Put this function inside [! SPLIT_INIT].
1999-06-181999-06-18 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* init.c [SPLIT_INIT] (child_pid, child_task): New variables. (process_signal, start_child, launch_something, launch_system): New functions. [! SPLIT_INIT] (system_state, shell_pid, rc_pid, launch_single_user, process_rc_script, launch_multi_user, launch_system, kill_everyone, kill_multi_user, process_signal): Variables and functions put inside #ifndef SPLIT_INIT. * stubs.c: New file, modified from ../proc/stubs.c. * Makefile (SRCS): Remove ttys.c here. [$(split-init) = yes] (SRCS): Add stubs.c [$(split-init) = yes] (init-CPPFLAGS): New variable, -DSPLIT_INIT. [$(split-init) = no] (SRCS): Add ttys.c only here. [$(split-init) = no] (LDLIBS): Put defn (-lutil) under this test. (split-init): New variable to turn on split-init, commented out.
1999-06-151999-06-15 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* init.c (booted): New variable. (open_console): Use that instead of system_state. (S_startup_essential_task): Likewise. (do_mach_notify_dead_name): Likewise. (launch_system): New function. (S_startup_essential_task): Call it. * init.c (global_argv): Make static. * init.c (startup_envz, startup_envz_len): New variables. (run, run_for_real): Use those for child environment. (main): Set them up from our ENVP argument. 1999-06-14 Roland McGrath <roland@baalperazim.frob.com> * init.c (main): Barf if run in a normal Hurd environment (not boot). * init.c (record_essential_task): Add missing return.
1999-06-141999-06-13 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* init.c (kill_multi_user): Suggest `ps -AlM' in error message. * init.c (record_essential_task): New function, broken out of S_startup_essential_task. (S_startup_essential_task): Call it. (frob_kernel_process): Call it for kernel task port. (kill_everyone): Remove special case for PID 2 (kernel task).
1999-06-131999-06-13 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* init.c (run): Add const to SERVER arg, PROG local. Don't trim directory name from PROG for argument.
1999-06-131999-06-13 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
Move all the /etc/ttys handling stuff into a separate source file. * init.c (_PATH_LOGIN, WINDOW_DELAY, struct terminal, nttys, ttyslen, setup_terminal, add_terminal, init_ttys, free_ttys, startup_terminal, startup_ttys, find_line, restart_terminal, shutdown_terminal, reread_ttys): Move to * ttys.c: ... here, new file. * ttys.h: New file, declare external functions in ttys.c. * Makefile (SRCS): Add ttys.c. (OBJS): Derive from $(SRCS). (LCLHDRS): New variable, add ttys.h.
1999-06-051999-06-05 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* init.c (request_dead_name): New function. (S_startup_request_notification, S_startup_essential_task): Use it. (run): Request dead-name notification for new task. (main): Request dead-name notification for FSTASK. (do_mach_notify_dead_name): If system_state is INITIAL, recognize FSTASK, AUTHTASK, PROCTASK specifically and crash with appropriate msg. 1999-06-04 Roland McGrath <roland@baalperazim.frob.com> * init.c (launch_core_servers): Use proc_child on the proc server task to register it with itself as our child. Snarf its proc port and use proc_mark_exec do remove that unsightly `f', as we do for the other bootstrap processes.
1999-06-021999-06-02 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* init.c (frob_kernel_process): If no --kernel-command-line option, try `getenv ("MULTIBOOT_CMDLINE")' before defaulting to "(kernel)".
1999-06-021999-06-01 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* init.c (CRASH_FLAGS): Macro removed. (crash_flags): New variable replaces it. (crash_mach, crash_system): Use crash_flags instead of CRASH_FLAGS. (options, parse_opt): Add --crash-debug/-H, to set crash_flags to RB_DEBUGGER.
1999-06-011999-06-01 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* init.c (kernel_command_line): New variable. (frob_kernel_process): New function. (S_startup_essential_task): Call it after init_stdarrays. (options): Add --kernel-command-line/-K option. (parse_opt): Grok -K, set kernel_command_line.
1999-03-06Sat Mar 6 17:13:48 1999 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* init.c (do_mach_notify_dead_name): Deallocate the extra reference to NAME that the notification carries.
1999-02-18Tue Feb 16 18:54:33 1999 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* init.c (shutdown_terminal): Revoke access to the terminal from existing programs.
1998-10-241998-10-24 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* init.c (main): Don't bogusly clear bootstrap_args. Reported by OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>.
1998-05-12Tue May 12 12:03:38 1998 Thomas Bushnell, n/BSG <tb@mit.edu>Thomas Bushnell
* init.c (setup_terminal): Free LINE after done using it. (process_rc_script): Likewise free RCARGS. Both reported by Katusya Tanaka (wyvern@pb3.so-net.ne.jp).
1997-07-03(parse_opt):Miles Bader
New function. (bootstrap_args): Initialize to 0. (main): Parse args using argp. Include <argp.h>. (options, doc): New variables.
1996-09-05*** empty log message ***Thomas Bushnell
1996-08-12*** empty log message ***Thomas Bushnell
1996-07-16(process_signal): Set WUNTRACED in call to waitpid.Michael I. Bushnell
1996-07-08(init_stdarrays): Don't use unsafe MOVE_SEND in call to interruptibleMichael I. Bushnell
proc_setexecdata. (open_console): Likewise, for file_set_translator.
1996-07-03(process_signal) [case SIGCHLD]: Correctly place `break' *outside* ofMichael I. Bushnell
for loop.
1996-07-01(process_signal): On SIGCHLD, keep reaping children until we get anMichael I. Bushnell
error; tolerate all errors silently.
1996-06-24(kill_multi_user): Kill user tasks before doing notify_shutdown.Michael I. Bushnell
1996-06-21(open_console):Miles Bader
Print an error messages for /dev/console not being a terminal. Reduce the scope of some variables.
1996-06-21(open_console): Print an error message for /dev/console failing.Miles Bader
1996-06-21(open_console):Miles Bader
Pass correct length of argument vector when setting active translators. <maptime.h>: New include.
1996-06-21*** empty log message ***Michael I. Bushnell
1996-06-20(_PATH_RUNCOM): Move to /libexec/rc.Michael I. Bushnell
1996-06-19(init_ttys, reread_ttys): Test return value of setttyent correctly.Michael I. Bushnell
1996-06-19(init_ttys): Return non-zero if we fail.Michael I. Bushnell
(startup_terminal): Return non-zero if we don't actually start anything. (startup_ttys): Return non-zero if we fail. (launch_multi_user): If init_ttys fails, go back to single. If we go multi, actually set system_state accordingly. If startup_ttys fails, go back to single.
1996-06-19(S_startup_essential_task): fixupMichael I. Bushnell
1996-06-19(run_for_real): Return zero if we fail.Michael I. Bushnell
(startup_terminal): Deal properly if one of the run_for_real's fails. (launch_single_user): If the shell can't be started, crash the system. (process_rc_script): Return non-zero if run_for_real fails. (process_signal) [SIGCHLD]: If process_rc_script fails, go back to single-user. (S_startup_essential_task): Likewise.
1996-06-19Include <ttyent.h>, <argz.h>, and <utmp.h>.Michael I. Bushnell
(add_terminal, init_ttys, free_ttys, startup_terminal, startup_ttys, find_line, reread_ttys, restart_terminal): New functions. (launch_multi_user): Use new functions to do things right. (session_pid): Delete variable. (kill_multi_user): Call free_ttys. (process_signal) [SIGHUP]: Call reread_ttys. [SIGCHLD/MULTI]: Call restart_terminal. (run_for_real): New arg `setsid'; only do setsid if it's set. All callers changed. Return the pid of the new program, not the task port. All callers changed. Include "mung_msg_S.h" instead of "msg_S.h". (S_msg_sig_post, S_msg_sig_post_untraced): Include SIGCODE parm.
1996-06-17Include "mung_msg_S.h" instead of "msg_S.h".Michael I. Bushnell
(S_msg_sig_post, S_msg_sig_post_untraced): Include SIGCODE parm.
1996-06-17Include <paths.h>, <error.h>, <sys/wait.h>, and <hurd/msg_reply.h>.Michael I. Bushnell
(run_for_real, open_console, process_signal, reboot_mach, run_for_real, run, reboot_system): Use error instead of fprintf. (notify_shutdown): Always emit terminating newline. (S_startup_essential_task): When all core servers have showed up, call launch_single_user only if RB_SINGLE; otherwise call process_rc_script. Call init_stdarrays here. (open_console): New function; massaged guts taken from launch_single_user. Be more verbose if we do something unusual. (launch_single_user): Call open_console. Don't call init_stdarrays here. (system_state, default_ints): New variables. (main): Initialize SYSTEM_STATE and DEFAULT_INTS. (run_for_real): Pass default_ints. (run): Likewise. (S_startup_essential_task): Delete var INITDONE; use SYSTEM_STATE instead. (launch_single_user): Set SYSTEM_STATE to SINGLE. (process_rc_script): New function. (launch_multi_user): New function. (kill_everyone): New function. (kill_multi_user): New function. (do_fastboot, rc_pid, session_pid): New variables. (process_signal): New function; guts from S_msg_sig_post_untraced. Handle state transitions here when programs exit. Process SIGTERM, and SIGHUP appropriately. (_PATH_RUNCOM, _PATH_LOGIN): New macros. (S_msg_sig_post_untraced): Only validate signal here; use process_signal to do the work, but reply first. (S_msg_sig_post): Likewise. (notify_shutdown): New function. (reboot_system): Use notify_shutdown.
1996-06-12(S_startup_request_notification): Fill NT->name correctly.Michael I. Bushnell
1996-06-12(S_startup_request_notification): Doc fix.Michael I. Bushnell
1996-05-27(launch_single_user): Open TERM RDWR. Use openport to get FD from TERM.Miles Bader
1996-05-27(launch_single_user): Print errno on assertion failure.Miles Bader
1996-05-24(reboot_mach): Insert a brief pause before actually rebooting theMichael I. Bushnell
kernel so that the user has a chance to see any messages that may be displayed.
1996-05-14(S_msg_describe_ports): typo.Michael I. Bushnell
1996-05-14(S_msg_get_exec_flags, S_msg_set_all_exec_flags,Michael I. Bushnell
S_msg_set_some_exec_flags, S_msg_clear_some_exec_flags): Delete functions. (S_msg_describe_ports): New function.
1996-05-14(reboot_system): Print prettier messages for shutdown notifications.Michael I. Bushnell