1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
|
2002-03-23 James A. Morrison <ja2morri@uwaterloo.ca>
* init.c (reboot_mach): Use ERR, not errno.
(run): Likewise.
(lauch_core_servers): Likewise.
(run_for_real): Use MACH_PORT_NULL explicitly.
(start_child): Likewise.
2002-01-02 Roland McGrath <roland@frob.com>
* init.c [KERN_INVALID_LEDGER]:
Pass extra arguments to task_create for OSF variant.
2001-08-23 Roland McGrath <roland@frob.com>
* init.c (main): Pass ARGP_NO_ERRS|ARGP_IN_ORDER to argp_parse.
2001-08-20 Roland McGrath <roland@frob.com>
* init.c [! SPLIT_INIT]: All this code removed.
[SPLIT_INIT]: This code no longer conditional.
(_PATH_RUNCOM, mapped_time, do_fastboot): Removed.
* Makefile (split-init): Variable removed.
(SRCS): Add stubs.c here unconditionally.
[$(split-init) = no]: Conditional defns removed.
(LCLHDRS): Variable removed.
* ttys.c, ttys.h: Files removed.
* init.c (kernel_command_line): Variable removed.
(options, parse_opt): Remove -K option.
(frob_kernel_process): Collect arguments from &global_argv[1]
instead of slicing up kernel_command_line.
(start_child): Take a second arg, if non-null more arguments for PROG.
(launch_something): Change caller. On first try, pass &global_argv[1].
2001-07-02 Roland McGrath <roland@frob.com>
* init.c (reboot_system): Don't pass null pointer to RPC out param.
Thanks to Moritz Schulte <moritz@chaosdorf.de> for finding this.
2001-01-17 Neal H Walfield <neal@cs.uml.edu>
* init.c (open_console): Conform to new fshelp_start_translator
semantics.
2000-12-21 Marcus Brinkmann <marcus@gnu.org>
* init.c (process_rc_script): If malloc fails, return ENOMEM.
Reported by Igor Khavkine <i_khavki@alcor.concordia.ca>.
2000-03-17 Thomas Bushnell, BSG <tb@mit.edu>
* init.c (launch_core_servers): Don't use MOVE_SEND in Hurd RPCs.
2000-03-13 Roland McGrath <roland@baalperazim.frob.com>
* stubs.c (send_signal): Don't use mach_msg_destroy, since it wants
the local/remote ports reversed. Destroy the rights by hand instead.
* 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-09-28 Thomas Bushnell, BSG <tb@mit.edu>
* 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-08-24 Roland McGrath <roland@baalperazim.frob.com>
* init.c (notify_shutdown): Add const to argument type.
1999-07-24 Roland McGrath <roland@baalperazim.frob.com>
* Makefile (split-init): Set to `yes' by default.
1999-07-10 Roland McGrath <roland@baalperazim.frob.com>
* init.c: Add #include <sys/mman.h> for munmap decl.
1999-07-09 Thomas Bushnell, BSG <tb@mit.edu>
* init.c (frob_kernel_process): Use mmap instead of vm_allocate.
1999-07-03 Thomas Bushnell, BSG <tb@mit.edu>
* init.c (reboot_system): Use munmap instead of vm_deallocate.
(frob_kernel_process): Likewise.
(kill_everyone): Likewise.
1999-06-19 Roland McGrath <roland@baalperazim.frob.com>
* Makefile (HURDLIBS): Add ports and fshelp only if $(split-init)!=yes.
* init.c (open_console): Put this function inside [! SPLIT_INIT].
1999-06-18 Roland McGrath <roland@baalperazim.frob.com>
* 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-15 Roland McGrath <roland@baalperazim.frob.com>
* 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.
* ttys.c: Include "ttys.h".
1999-06-13 Roland McGrath <roland@baalperazim.frob.com>
* 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).
* init.c (run): Add const to SERVER arg, PROG local.
Don't trim directory name from PROG for argument.
* ttys.c (struct terminal): Use `pid_t' for `pid' member.
(ttys, nttys, ttyslen): Make variables static.
(setup_terminal, add_terminal, find_line, startup_terminal,
shutdown_terminal): Make all these functions static.
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-05 Roland McGrath <roland@baalperazim.frob.com>
* 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-02 Roland McGrath <roland@baalperazim.frob.com>
* init.c (frob_kernel_process): If no --kernel-command-line option,
try `getenv ("MULTIBOOT_CMDLINE")' before defaulting to "(kernel)".
1999-06-01 Roland McGrath <roland@baalperazim.frob.com>
* 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.
* 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.
Sat Mar 6 17:13:48 1999 Thomas Bushnell, BSG <tb@mit.edu>
* init.c (do_mach_notify_dead_name): Deallocate the extra
reference to NAME that the notification carries.
Tue Feb 16 18:54:33 1999 Thomas Bushnell, BSG <tb@mit.edu>
* init.c (shutdown_terminal): Revoke access to the terminal from
existing programs.
1998-10-24 Roland McGrath <roland@baalperazim.frob.com>
* init.c (main): Don't bogusly clear bootstrap_args.
Reported by OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>.
Tue May 12 12:03:38 1998 Thomas Bushnell, n/BSG <tb@mit.edu>
* 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-06-30 Miles Bader <miles@gnu.ai.mit.edu>
* init.c (bootstrap_args): Initialize to 0.
(parse_opt): New function.
(options, doc): New variables.
(main): Parse args using argp.
Include <argp.h>.
Thu Sep 12 16:32:31 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* Makefile (HURDLIBS): New variable.
(init): Delete special target.
* Makefile (mung_msg_S.h): Put rule *after* inclusion of Makeconf.
Thu Sep 5 11:12:32 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* init.c: Include <version.h>.
(init_version): Delete variable.
(launch_core_servers): Pass empty string as release; HURD_VERSION
as version.
Tue Aug 13 17:51:38 1996 Miles Bader <miles@gnu.ai.mit.edu>
* Makefile (init): Remove -lutil.
(libutil-libsubst): Variable removed.
(LDLIBS): New variable.
Mon Aug 12 11:12:22 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* init.c (setup_terminal): Declare LINE.
(add_terminal): Don't declare LINE.
Thu Aug 8 16:34:06 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* init.c (setup_terminal): New function.
(add_terminal): Use setup_terminal.
(reread_ttys): When turning an existent terminal spec on, call
setup_terminal before startup_terminal.
* init.c (struct terminal): New member `read'.
(shutdown_terminal): New function.
(reread_ttys): Use shutdown_terminal instead of doing it by hand.
Keep track of which ttys we used to know about are no longer in
/etc/ttys, and treat them as now `off'.
* init.c (kill_everyone): `continue' in the essential task case
didn't go back to the main loop; fix it up correctly.
Tue Jul 16 11:55:09 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* init.c (process_signal): Set WUNTRACED in call to waitpid.
Sun Jul 7 21:18:10 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* init.c (init_stdarrays): Don't use unsafe MOVE_SEND in call to
interruptible proc_setexecdata.
(open_console): Likewise, for file_set_translator.
Wed Jul 3 14:46:41 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* Makefile (init): Add libports (because libfshelp.so requires it,
lose lose lose).
* init.c (process_signal) [case SIGCHLD]: Correctly place `break'
*outside* of for loop.
Mon Jul 1 18:07:56 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* init.c (process_signal): On SIGCHLD, keep reaping children until
we get an error; tolerate all errors silently.
Mon Jun 24 16:29:24 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* init.c (kill_multi_user): Kill user tasks before doing
notify_shutdown.
Fri Jun 21 16:17:08 1996 Miles Bader <miles@gnu.ai.mit.edu>
* init.c (open_console): Pass correct length of argument vector
when setting active translators.
<maptime.h>: New include.
(open_console): Print error messages for /dev/console failures.
Reduce the scope of some variables.
Thu Jun 20 14:51:14 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* init.c (mapped_time): New variable.
(launch_multi_user): Initialize mapped_time.
* init.c (_PATH_RUNCOM): Move to /libexec/rc.
Wed Jun 19 14:49:08 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* init.c (run_for_real): Doc fix.
(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.
(init_ttys): Return non-zero if we fail.
(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.
(init_ttys, reread_ttys): Test return value of setttyent
correctly.
Mon Jun 17 14:05:33 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* Makefile (libutil-libsubst): Define (as -lutil); and link
against -lutil.
* init.c: Include <ttyent.h>, <argz.h>, and <utmp.h>.
(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.
* init.c (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.
* Makefile (dir): Now init.
* init.c: Include "mung_msg_S.h" instead of "msg_S.h".
(S_msg_sig_post, S_msg_sig_post_untraced): Include SIGCODE parm.
* Makefile (mung_msg_S.h): New rule.
Mon Jun 17 00:17:37 1996 Miles Bader <miles@gnu.ai.mit.edu>
* init.c (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.
Fri Jun 14 11:07:30 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* init.c: Include <paths.h>, <error.h>, <sys/wait.h>, and
<hurd/msg_reply.h>.
(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.
Wed Jun 12 16:01:17 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* init.c (S_startup_request_notification): Fill NT->name properly.
Mon May 27 11:33:53 1996 Miles Bader <miles@gnu.ai.mit.edu>
* init.c (launch_single_user): Open TERM RDWR.
Use openport to get FD from TERM.
Print errno on assertion failure for FD.
Fri May 24 12:29:20 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* init.c (reboot_mach): Insert a brief pause before actually
rebooting the kernel so that the user has a chance to see any
messages that may be displayed.
Tue May 14 11:26:49 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* init.c (S_msg_get_exec_flags, S_msg_set_all_exec_flags,
S_msg_set_some_exec_flags, S_msg_clear_some_exec_flags): Delete
functions.
(S_msg_describe_ports): New function.
* init.c (reboot_system): Print prettier messages for shutdown
notifications.
Fri May 10 09:25:16 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* init.c: <hurd/startup_notify.h> -> "startup_notify_U.h".
* Makefile (OBJS): Add startup_notifyUser.o.
Thu May 9 19:03:24 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* init.c (struct ntfy_task): New member `name'.
(S_startup_request_notification): Expect and record name.
(S_msg_startup_dosync): Delete function.
Include <hurd/startup_notify.h>.
(reboot_system): Use new startup_dosync interface.
* init.c (init_stdarrays): Use new authentication interface.
Mon May 6 14:25:02 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* init.c (init_version): Upgrade to 0.0.
Mon Apr 29 16:49:18 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* init.c (reboot_system): Not quite yet, though.
Sun Apr 28 19:15:30 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* init.c (reboot_system): Use 1 minute timeout on reply to
msg_startup_dosync.
Wed Apr 17 17:06:30 1996 Miles Bader <miles@gnu.ai.mit.edu>
* init.c (launch_single_user): Set an active, not passive,
translator on /tmp/console, so it works with / read-only.
* Makefile (init): Depend on libfshelp.
Mon Mar 25 16:55:22 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* Makefile (init): Add explicit dependency so that
libshouldbeinlibc is included.
* init.c: Include <wire.h>.
(main): Delete declarations of _etext _edata, and __data_start.
(main): Use new wire_task_self function instead of doing it ourselves.
Tue Dec 19 18:29:19 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* init.c (launch_core_servers, run_for_real): Call proc_mark_exec
on child proc ports.
Tue Dec 5 15:22:25 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* init.c (launch_single_user): Change initialization of TERMINAL
to match new term driver arg syntax. Start terminal as ordinary
passive translator instead of special weird kludge. Deleted
variables foobiebletchcount, foobiebletch, and termtask.
Sun Nov 5 02:03:33 1995 Miles Bader <miles@gnu.ai.mit.edu>
* init.c (reboot_system): Add flags, noise, & noise_len params to
proc_getprocinfo. Deallocate NOISE if necessary.
(S_msg_report_wait): New function.
Tue Oct 24 16:49:08 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* init.c: Undo last change of 9Oct95.
Mon Oct 9 04:29:39 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* init.c: Pass dealloc args in file_exec calls.
Thu Jul 6 15:34:23 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
* init.c (S_msg_sig_post, S_msg_sig_post_untraced): Reverse order
of these definitions.
* init.c: Include <hurd/msg_server.h>.
(reboot_mach): Insert extra parens around assignment inside while
test.
(launch_core_servers): Remove assignment from inside if test.
* Makefile: Removed dependencies that are now automatically
generated.
Thu Feb 9 17:18:21 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* init.c (S_msg_sig_post_untraced): Omit obnoxious "random child
died" messages.
Sat Jan 28 15:00:37 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* init.c: Include "msg_S.h". Prepend `msg_' to msg.defs server
functions. Add stubs for new msg.defs functions.
Thu Jan 19 01:59:30 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* init.c: Prepend `msg_' to names of msg.defs RPCs.
Mon Nov 28 15:00:42 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* init.c (run_for_real): Print error msg if file_exec fails.
(shell_pid): New variable.
(demuxer): Also try msg_server.
(launch_single_user): Open terminal O_RDWR and dup to 0, 1, 2.
Set shell_pid after starting shell.
(S_sig_post): New function; grok SIGCHLD and restart shell if
shell_pid dies.
* Makefile (OBJS): Add msgServer.o.
(init.o): Depend on msg_S.h.
Fri Nov 11 14:06:43 1994 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
* init.c (fakeboot): New variable.
(STANDALONE): Deleted macro.
(main): Set FAKEBOOT if -f was passed.
(reboot_mach): Use FAKEBOOT flag instead of STANDALONE macro.
(launch_core_servers): Likewise.
(reboot_system): Likewise. Also don't exit here; let
reboot_mach exit.
Tue Nov 1 04:13:49 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* init.c (main): Use &_start for start of text to wire.
(main): Use assert_perror in place of `assert (!err)'.
(launch_single_user): Use _PATH_CONSOLE and _PATH_BSHELL instead
of hardcoded strings.
Check for error from io_stat on console, print message.
Add #if 0'd code to prompt for shell name.
Tue Sep 6 13:09:40 1994 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
* init.c (launch_single_user): Don't run device or pipes
servers by default. Run terminal server inside /tmp if
/dev/console isn't set up properly.
Wed Aug 31 01:03:51 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* init.c (launch_single_user): Test TERMTASK as port, not boolean;
if null, properly initialize TERM to MACH_PORT_NULL as well.
Tue Aug 30 17:07:07 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* init.c: Include <hurd/term.h>.
* init.c (run): Use file_name_lookup instead of path_lookup.
(launch_single_user): Likewise.
(run_for_real): Likewise.
* init.c (init_stdarrays): Use new authentication protocol.
Mon Aug 22 16:44:11 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* init.c (run_for_real): If CTTY is set, then also put the process
in its own login collection.
Fri Aug 19 12:16:47 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* init.c (run_for_real): New arg `ctty'. All callers changed.
If it's set, then set the new process's INIT_PORT_CTTYID
accordingly, and change CTTY's owner to be the new process pgrp.
(launch_single_user): Don't free TERM right away, only do it
after we've passed it to run_for_real on the shell.
Thu Aug 18 16:48:08 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* init.c (main): Print informative bootstrap messages.
(launch_core_servers): Likewise.
(launch_single_user): Likewise.
(run): Don't print meaningless bootstrap clutter.
* init.c (launch_single_user): Use task_info; it's less intrusive
than task_suspend/task_resume.
* init.c (launch_single_user): Run pipes before shell.
* init.c (launch_single_user): Pause a bit to give term a chance
to startup.
* init.c (bootstrap_args): New variable.
(main): Set `bootstrap_args' appropriately from argv[1].
(prompt_for_servers): Deleted variable.
(run): Use RB_INITNAME instead of prompt_for_servers.
Only do `pausing' hack if RB_KDB is set.
(run_for_real): Likewise.
* init.c (main): Wire text and data segment soon after starting.
Wed Aug 17 19:20:51 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* init.c (run_for_real): Call proc_setsid on new proc.
Wed Aug 17 14:04:18 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* init.c (init_stdarrays): New function.
(launch_single_user): Call init_stdarrays.
Tue Aug 16 00:44:20 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* init.c (launch_single_user): Prompt whether to run term or dev.
* init.c (main): Set default_ports[INIT_PORT_BOOTSTRAP] to STARTUP
while running proc and auth, and then reset it to null.
Mon Aug 15 23:16:24 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* init.c (launch_single_user): Use a volatile var to choose dev or
term, so you can set it in gdb.
(main): Set bootstrap port to MACH_PORT_NULL after fetching it.
Don't set default_ports[INIT_PORT_BOOTSTRAP]; it should be nil.
Mon Aug 15 11:40:34 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* init.c (launch_core_servers): Renamed from launch_system.
Don't start dev, term, pipes, or shell here.
(S_startup_procinit): Call launch_core_servers instead of
launch_system.
(S_startup_authinit): Likewise.
(launch_single_user): New function.
(S_startup_essential_task): Call launch_single_user once
all the core servers have registered themselves here.
Fri Aug 12 14:05:07 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* init.c (launch_system): Comment out use of dev for now.
Thu Aug 11 12:25:32 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* init.c (launch_system): Run dev instead of term.
Thu Jul 21 17:45:45 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* Makefile: Rewritten in accord with new scheme.
* init.c: Include "startup_reply_U.h instead of "startup_reply.h".
(demuxer): Remove S_ from references to startup_server.
Tue Jul 19 20:36:30 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
* init.c (run_for_real): Moved unused var BUF inside #if 0 where used.
(launch_system): Call proc_set_arg_locations, not proc_setprocargs.
Tue Jul 19 12:44:56 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
* Makefile (init): Don't use variable $(link) anymore.
Tue Jul 5 14:21:34 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
* init.c (launch_system): After terminal driver is running,
reopen stdin so that we always read through it. Don't do
output, because that (for reliability) shouldn't depend
on the terminal driver.
(main): Open stdin separately from stdout/stderr.
* Makefile (SRCS): New variable.
Fri Jul 1 11:19:46 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
* init.c (run_for_real): Return the task we created. All callers
changed.
Tue Jun 21 14:08:37 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
* init.c (launch_system): Correct first arg to pipes.
Mon Jun 20 15:06:19 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
* init.c (launch_system): Look for pipes in /hurd/pipes, not
/bin/pipes.
* init.c (run_for_real): Comment out old code that prompts user;
abandon attempt if we can't run something.
* Makefile (install): Use $(INSTALL_BIN) instead of cp.
Fri Jun 17 00:13:50 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu)
* init.c (demuxer): Use S_startup_server instead of startup_server.
Wed Jun 15 18:14:59 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
* init.c (launch_system): Start pipes server after starting shell.
* init.c (run_for_real): New parms ARGS and ARGLEN. All callers
changed.
Tue May 24 02:20:55 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
* init.c (launch_system): Start the shell before doing proc_setmsgport.
Tue May 24 00:05:43 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
* init.c (launch_system): Call proc_setmsgport before fsys_init.
Mon May 16 14:43:47 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
* init.c (reboot_system): Restore bits commented out on May 12;
the proc bug responsible has been fixed.
Fri May 13 14:59:12 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
* init.c (launch_system): Make sure the auth server's proc state
is correct *before* calling startup_authinit_reply.
Thu May 12 15:13:10 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
* init.c (reboot_system): Comment out bits checking to see
if the procserver has died; they aren't quite right.
* init.c (S_startup_essential_task): Don't take over the exception
port of the task right now; this interferes with things too much.
Thu May 12 02:22:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
* init.c (launch_system): Don't call _hurd_proc_init; just call
proc_setprocargs ourselves.
(launch_system): Do proc_setmsgport last.
(run, run_for_real): Pass argv[0] with name of program.
Mon May 9 14:30:11 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
* init.c (init_version): New variable.
(launch_system): Call proc_register_version; don't call
proc_setprocargs (which is done by _hurd_proc_init). Give
correct argument to _hurd_proc_init.
* init.c (S_startup_register_version, S_startup_uname): Deleted.
Fri May 6 13:01:04 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
* init.c (S_startup_register_version, S_startup_uname):
New functions (temporary only).
Thu May 5 19:15:39 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
* init.c: Include <hurd/msg.h> for prototype of startup_dosync.
Change return types of MiG stubs to be kern_return_t.
(S_startup_essential_task): Expect new arg CREDENTIAL and
validate it.
Thu May 5 07:44:21 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
* Makefile: Change uses of $(headers) to $(includedir).
|