Age | Commit message (Collapse) | Author |
|
* mgt.c (create_startup_proc): Don't call add_proc_to_hash here.
* main.c (main): Do it here instead, after we have the task port.
|
|
|
|
* mgt.c (allocate_proc, complete_proc): New functions, broken
out of new_proc. Remove magic handling of PIDs 0 and 1.
(new_proc): Now just call those two. Made static.
(create_startup_proc): New function, also broken out of old new_proc.
Do special setup for PID 1 (init) proc structure here.
* proc.h: Update decls.
* main.c (main): Use create_startup_proc for startup_proc, and
allocate_proc + complete_proc (with PID 0) for self_proc.
* mgt.c (make_ids): Add const to arguments.
|
|
* proc.h (struct proc): Use unsigned int for flag bitfields.
* mgt.c (allocate_proc, complete_proc): New functions, broken
out of new_proc. Remove magic handling of PIDs 0 and 1.
(new_proc): Now just call those two. Made static.
(create_startup_proc): New function, also broken out of old new_proc.
Do special setup for PID 1 (init) proc structure here.
* proc.h: Update decls.
* main.c (main): Use create_startup_proc for startup_proc, and
allocate_proc + complete_proc (with PID 0) for self_proc.
|
|
* mgt.c (allocate_proc, complete_proc): New functions, broken
out of new_proc. Remove magic handling of PIDs 0 and 1.
(new_proc): Now just call those two. Made static.
(create_startup_proc): New function, also broken out of old new_proc.
Do special setup for PID 1 (init) proc structure here.
* proc.h: Update decls.
* main.c (main): Use create_startup_proc for startup_proc, and
allocate_proc + complete_proc (with PID 0) for self_proc.
|
|
|
|
* mgt.c (add_tasks): Skip invalid (null) rights in tasks array.
* info.c (S_proc_pid2task): Add assert for p_task right validity.
|
|
|
|
* main.c: Include <device/device.h>.
|
|
|
|
* main.c (main): Set up console on stderr.
|
|
* msg.c (check_msgport_death): New function.
(S_proc_getmsgport): Use it.
* proc.h (check_msgport_death): Provide prototype.
* info.c (S_proc_getprocinfo): Call check_msgport_death to make
sure that our knowledge about P's message port is up to date.
|
|
|
|
* main.c: Include <error.h>.
|
|
|
|
* main.c (main): Use assert_perror. Give diagnostic for lack of
bootstrap port.
|
|
|
|
* mgt.c (S_proc_reassign): Remove unused variable FOO.
|
|
* notify.c (do_mach_notify_dead_name): Remove unnecessary braces.
* msg.c (S_proc_setmsgport): Remove unused variable FOO.
(S_proc_getmsgport): Only check if the message port is still alive
if it is not MACH_PORT_NULL. Use mach_port_type instead of
mach_port_get_refs to check if the port is dead.
* mgt.c (S_proc_reassign): Use mach_port_destroy to release the
old task port.
|
|
* notify.c (do_mach_notify_dead_name): Don't check against
P->p_msgport anymore.
* msg.c (message_port_dead): Delete function.
(S_proc_setmsgport): Don't request a dead-name notification
anymore.
(S_proc_getmsgport): Check to see if P->p_msgport is dead before
returning it.
* mgt.c (S_proc_reassign): Only use mach_port_deallocate to
release P->msgport.
(process_has_exited): Likewise.
* proc.h (message_port_dead): Delete prototype.
|
|
* mgt.c (S_proc_reassign): It's not necessary to re-request the
task-death notification; we've moved both the task right and the
proc port that gets the notification, so delete that.
* mgt.c (S_proc_reassign): Use mach_port_destroy instead of
mach_port_deallocate to release P->p_msgport, for the same reasons
as the changes below.
|
|
* mgt.c (process_has_exited): Use mach_port_destroy instead of
mach_port_deallocate to release P->p_msgport.
(complete_exit): Likewise for P->p_task.
These changes eliminate a race; we are destroying the receiver of
the dead-name notifications on these ports, but if that means we
lose a notification, then the ref-count on the name will get
incremented and we can't re-decrement it since we never hear the
notification.
|
|
* notify.c (do_mach_notify_dead_name): Deallocate reference to
DEADPORT.
|
|
* stubs.c (send_signal): Typo in comment.
|
|
|
|
* cpu-types.c: Test with #ifdef for CPU_TYPE_I486, CPU_TYPE_PENTIUM,
CPU_TYPE_PENTIUMPRO, CPU_TYPE_POWERPC, since not all <mach/machine.h>
versions have them.
|
|
* host.c (hostid, hostname, hostnamelen): Delete variables.
(S_proc_sethostid, S_proc_gethostid, S_proc_sethostname,
S_proc_gethostname): Delete functions.
|
|
* main.c (main): New args for
ports_manage_port_operations_multithread.
|
|
* cpu-types.c (mach_cpu_types): Add entries for 486, 586, 686,
and powerpc.
(mach_cpu_subtypes): Add subtypes for new x86 subtypes. (None
added for powerpc yet.)
|
|
|
|
Arg parsing added.
HOLD variable removed.
(argp_program_version):
New variable.
Include <argp.h> and <version.h>.
|
|
|
|
Don't dereference P if it's 0.
|
|
* host.c: Include <version.h>.
Thu Oct 24 16:13:40 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* host.c (initialize_version_info): Construct UNAME_INFO.machine
with a dash instead of a slash so that it can be used as a file
name component.
* host.c (initialize_version_info): Copy our version into element
0 of server_versions, not element 1. Use HURD_VERSION instead of
OUR_VERSION. Use literal "proc" instead of OUR_SERVER_NAME.
* proc.h (OUR_SERVER_NAME, OUR_VERSION): Delete macro.
|
|
|
|
|
|
|
|
Correctly adjust NEWSIZE when reallocating to add very long strings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* mgt.c (add_tasks): Fix vm_deallocate call to use mach_task_self ()
instead of mach_host_self ().
|
|
|
|
|
|
interruptible RPC.
|
|
them is dead, alert init.
|