summaryrefslogtreecommitdiff
path: root/proc
AgeCommit message (Collapse)Author
2001-08-142001-08-14 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* mgt.c (S_proc_dostop): If task_threads fails, resume the suspended task.
2001-08-06.Roland McGrath
2001-08-062001-08-06 Roland McGrath <roland@frob.com>Roland McGrath
* wait.c (S_proc_wait: reap): Set *PID_STATUS to CHILD->p_pid. Reported by Neal H Walfield <neal@cs.uml.edu>.
2001-08-062001-08-06 Roland McGrath <roland@frob.com>Roland McGrath
* mgt.c (allocate_proc): Don't zero P->p_pi. Reported by Neal H Walfield <neal@cs.uml.edu>.
2001-08-05.Roland McGrath
2001-08-052001-08-05 Roland McGrath <roland@frob.com>Roland McGrath
* wait.c (sample_rusage): New function. (S_proc_mark_exit): Call it.
2001-08-04.Roland McGrath
2001-08-042001-08-04 Roland McGrath <roland@frob.com>Roland McGrath
* proc.h (struct proc): New members p_rusage, p_child_rusage. * wait.c (rusage_add): New static function. (alert_parent): Use it to add dead child's p_rusage into parent's p_child_rusage. (S_proc_wait): Fill *RU out param with CHILD->p_rusage, not just zeros. Rewrote subfunction child_ready and its two callers into new subfunction reap to reduce duplicated code.
2001-08-042001-08-04 Roland McGrath <roland@frob.com>Roland McGrath
* mgt.c (process_has_exited): Call ports_interrupt_rpcs last thing.
2001-08-04.Roland McGrath
2001-08-042001-08-04 Roland McGrath <roland@frob.com>Roland McGrath
* mgt.c (S_proc_reauthenticate): Release global_lock while making RPC. Don't mach_port_deallocate an argument port when returning an error, because mig does it for us. 2001-08-03 Roland McGrath <roland@frob.com> * mgt.c (allocate_proc): Use memset instead of lots of 0 initializers.
2001-08-02.Roland McGrath
2001-08-022001-08-01 Roland McGrath <roland@frob.com>Roland McGrath
* mgt.c (genpid): Rewritten.
2001-08-022001-08-02 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* mgt.c (genpid): Before checking if NEXTPID is free, check if it is greater than WRAP, and if yes, start over.
2001-07-132001-07-13 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* host.c (S_proc_getexecdata): New variable PORTS_ALLOCATED. Set it if we allocated a new buffer for PORTS. If it is set, and allocation of a new buffer for INTS fails, unmap the buffer for PORTS. * host.c (S_proc_getexecdata): New variable I. Go over all standard ports and increase the send right user reference by one. Set *PORTSPOLY to MACH_MSG_TYPE_MOVE_SEND.
2001-06-272001-06-27 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* info.c (S_proc_getprocinfo): If we return because mmap failed for *PIARRAY, be sure to munmap THDS if necessary.
2001-05-122001-05-12 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* host.c (initialize_version_info): Clear last byte of KV to make sure that the string is null-terminated.
2001-04-15.Roland McGrath
2001-04-152000-04-03 Neal H Walfield <neal@cs.uml.edu>Roland McGrath
* proc.h (struct ids): Drop gids and ngids, we never use them. Turn uids into a zero length array. * mgt.c (make_ids): Conform to new semantics. (ids_free): Removed. Rendered obsolete by ids_rele. (ids_rele): New function. Drop a reference to the given ids. (ids_ref): Add a reference to the given ids. (S_proc_reauthenticate): Use ids_rele and new make_ids semantics. (S_proc_child): Use ids_rele and ids_ref. (create_startup_proc): Conform to new make_ids semantics. (complete_proc): Use ids_ref. (process_has_exited): Use ids_rele.
2001-04-152000-04-03 Neal H Walfield <neal@cs.uml.edu>Roland McGrath
* host.c (S_proc_setexecdata): Check for memory allocation errors. Use memcpy, not bcopy. (S_proc_getexecdata): Likewise. (S_proc_execdata_notify): Check return of malloc. (S_proc_register_version): Likewise. (initialize_version_info): Add asserts. * info.c (S_proc_pid2task): Do not bother searching for the pid if we do not have a valid caller. (S_proc_pid2proc): Likewise. Use memcpy, not bcopy. (S_proc_getprocinfo): Doc fixes. Use MAP_FAILED not -1. Use memcpy, not bcopy. (S_proc_getloginpids): Check return value of malloc. Use realloc correctly. (S_proc_setlogin): Check return value of malloc. * main.c (main): Assert allocate_proc. * mgt.c (make_ids): Check return value of malloc and fail accordingly. (S_proc_reauthenticate): Check return value of make_ids and fail accordingly. (S_proc_child): Call task_find after we know that we were passed a valid child. (S_proc_reassign): Likewise. (S_proc_handle_exceptions): Use memcpy, not bcopy. (allocate_proc): Check return value of ports_create_port and fail accordingly. (create_startup_proc): Add asserts. (complete_proc): Do not assume the length of "<none>". * msg.c (S_proc_getmsgport): Call pid_find_allow_zombie after we know we were passed a valid caller. * pgrp.c: Include assert.h. (new_pgrp): Check return value of malloc and fail accordingly. (new_session): Likewise. (boot_setsid): Assert sess. (S_proc_getsessionpids): Use MAP_FAILED not -1. (S_proc_getsessionppids): Likewise. (S_proc_getpgrppids): Likewise. * wait.c (S_proc_wait): Use memset, not bzero.
2001-04-152000-04-03 Neal H Walfield <neal@cs.uml.edu>Roland McGrath
* host.c: Doc fix: ``Implement foo as described in <hurd/proc.defs>'' => ``Implement foo as described in <hurd/process.defs>'' * info.c: Likewise. * mgt.c: Likewise. * pgrp.c: Likewise. * wait.c: Likewise. * host.c (S_proc_setexecdata): Check for memory allocation errors. Use memcpy, not bcopy. (S_proc_getexecdata): Likewise. (S_proc_execdata_notify): Check return of malloc. (S_proc_register_version): Likewise. (initialize_version_info): Add asserts. * info.c (S_proc_pid2task): Do not bother searching for the pid if we do not have a valid caller. (S_proc_pid2proc): Likewise. Use memcpy, not bcopy. (S_proc_getprocinfo): Doc fixes. Use MAP_FAILED not -1. Use memcpy, not bcopy. (S_proc_getloginpids): Check return value of malloc. Use realloc correctly. (S_proc_setlogin): Check return value of malloc. * main.c (main): Assert allocate_proc. * mgt.c (make_ids): Check return value of malloc and fail accordingly. (S_proc_reauthenticate): Check return value of make_ids and fail accordingly. (S_proc_child): Call task_find after we know that we were passed a valid child. (S_proc_reassign): Likewise. (S_proc_handle_exceptions): Use memcpy, not bcopy. (allocate_proc): Check return value of ports_create_port and fail accordingly. (create_startup_proc): Add asserts. (complete_proc): Do not assume the length of "<none>". * msg.c (S_proc_getmsgport): Call pid_find_allow_zombie after we know we were passed a valid caller. * pgrp.c: Include assert.h. (new_pgrp): Check return value of malloc and fail accordingly. (new_session): Likewise. (boot_setsid): Assert sess. (S_proc_getsessionpids): Use MAP_FAILED not -1. (S_proc_getsessionppids): Likewise. (S_proc_getpgrppids): Likewise. * wait.c (S_proc_wait): Use memset, not bzero.
2001-04-152000-04-03 Neal H Walfield <neal@cs.uml.edu>Roland McGrath
* proc.h (struct ids): Drop gids and ngids, we never use them. Turn uids into a zero length array. * mgt.c (make_ids): Conform to new semantics. (ids_free): Removed. Rendered obsolete by ids_rele. (ids_rele): New function. Drop a reference to the given ids. (ids_ref): Add a reference to the given ids. (S_proc_reauthenticate): Use ids_rele and new make_ids semantics. (S_proc_child): Use ids_rele and ids_ref. (create_startup_proc): Conform to new make_ids semantics. (complete_proc): Use ids_ref. (process_has_exited): Use ids_rele. * host.c: Doc fix: ``Implement foo as described in <hurd/proc.defs>'' => ``Implement foo as described in <hurd/process.defs>'' * info.c: Likewise. * mgt.c: Likewise. * pgrp.c: Likewise. * wait.c: Likewise. * mgt.c (S_proc_reauthenticate): Calculate the value of NGEN_UIDS, NAUX_UIDS, NGEN_GIDS AND NAUX_GIDS; do not use a constant. (create_startup_proc): Add asserts. * host.c (S_proc_setexecdata): Check for memory allocation errors. Use memcpy, not bcopy. (S_proc_getexecdata): Likewise. (S_proc_execdata_notify): Check return of malloc. (S_proc_register_version): Likewise. (initialize_version_info): Add asserts. * info.c (S_proc_pid2task): Do not bother searching for the pid if we do not have a valid caller. (S_proc_pid2proc): Likewise. Use memcpy, not bcopy. (S_proc_getprocinfo): Doc fixes. Use MAP_FAILED not -1. Use memcpy, not bcopy. (S_proc_getloginpids): Check return value of malloc. Use realloc correctly. (S_proc_setlogin): Check return value of malloc. * main.c (main): Assert allocate_proc. * mgt.c (make_ids): Check return value of malloc and fail accordingly. (S_proc_reauthenticate): Check return value of make_ids and fail accordingly. (S_proc_child): Call task_find after we know that we were passed a valid child. (S_proc_reassign): Likewise. (S_proc_handle_exceptions): Use memcpy, not bcopy. (allocate_proc): Check return value of ports_create_port and fail accordingly. (create_startup_proc): Add asserts. (complete_proc): Do not assume the length of "<none>". * msg.c (S_proc_getmsgport): Call pid_find_allow_zombie after we know we were passed a valid caller. * pgrp.c: Include assert.h. (new_pgrp): Check return value of malloc and fail accordingly. (new_session): Likewise. (boot_setsid): Assert sess. (S_proc_getsessionpids): Use MAP_FAILED not -1. (S_proc_getsessionppids): Likewise. (S_proc_getpgrppids): Likewise. * wait.c (S_proc_wait): Use memset, not bzero.
2000-03-17.Roland McGrath
2000-03-172000-03-17 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* main.c (main): Use ports_get_send_right.
2000-03-14.Roland McGrath
2000-03-142000-03-13 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* mgt.c (S_proc_exception_raise): Check for MACH_SEND_NOTIFY_IN_PROGRESS rather than MACH_SEND_INVALID_NOTIFY. Don't deallocate THREAD and TASK ports before the switch, since the successful case uses THREAD again and the failure case uses TASK again. Instead, deallocate them at the end of the successful case. At the end of the error case, use mach_port_destroy on THREAD only.
2000-03-13.Roland McGrath
2000-03-132000-03-13 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* stubs.c (struct msg_sig_post_request): New type, broken out of send_signal, where it was anonymous. (struct msg_spec): Type removed. (blocking_message_send): Change type to any_t -> any_t. Don't call cthread_wire; it's a no-op in GNU anyway. Just return instead of calling cthread_exit. Argument is now a pointer to struct msg_sig_post_request. Check mach_msg return value for sanity assert. (send_signal): Make MESSAGE auto instead of static, use new type name. This problem tracked down by Mark Kettenis <kettenis@gnu.org>.
2000-03-12.Roland McGrath
2000-03-122000-03-12 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* mgt.c (allocate_proc): Don't do mach_port_request_notification here. (proc_death_notify): New function, do it here instead. (complete_proc): Call proc_death_notify. * main.c (main): Call proc_death_notify on STARTUP_PROC after we have set its task port. * proc.h: Declare proc_death_notify.
2000-01-24.Roland McGrath
2000-01-242000-01-23 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* info.c (get_string): New arg, pass back length of string. (get_string_array): Use it, rather than repeating strlen. When increasing NEWSIZE to fit, round it to page size. Diddle a few casts to be prettier.
2000-01-07obsolete file removedRoland McGrath
2000-01-072000-01-06 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* primes.c: File removed (long obsolete). * proc.h: Don't declare nextprime.
1999-07-11.Roland McGrath
1999-07-111999-07-11 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* proc.h: Add #include <sys/mman.h>.
1999-07-111999-07-09 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* info.c (get_string_array): Use mmap instead of vm_allocate. (S_proc_getprocinfo): Likewise. (S_proc_getloginpids): Likewise. * mgt.c (S_proc_getallpids): Likewise. * pgrp.c (S_proc_getsessionpids): Likewise. (S_proc_getsessionpgids): Likewise. (S_proc_getpgrppids): Likewise.
1999-07-11.Roland McGrath
1999-07-111999-07-10 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* info.c: Add #include <sys/mman.h> for munmap decl. * mgt.c: Likewise.
1999-07-031999-07-03 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* info.c (get_string): Use munmap instead of vm_deallocate. (get_vector): Likewise. (get_string_array): Likewise. (S_proc_getprocinfo): Likewise. * mgt.c (S_proc_reauthenticate): Likewise. (S_proc_dostop): Likewise. (add_tasks): Likewise.
1999-06-19.Roland McGrath
1999-06-191999-06-19 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* main.c (main): Remove commented-out wire_task_self call, #include.
1999-06-05.Roland McGrath
1999-06-051999-06-05 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* 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.
1999-06-05.Roland McGrath
1999-06-051999-06-05 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* 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.
1999-06-051999-06-05 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* 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.
1999-06-051999-06-05 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* 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.
1999-05-30.Roland McGrath
1999-05-301999-05-29 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* mgt.c (add_tasks): Skip invalid (null) rights in tasks array. * info.c (S_proc_pid2task): Add assert for p_task right validity.