diff options
-rw-r--r-- | proc/ChangeLog | 834 |
1 files changed, 834 insertions, 0 deletions
diff --git a/proc/ChangeLog b/proc/ChangeLog new file mode 100644 index 00000000..619ecf26 --- /dev/null +++ b/proc/ChangeLog @@ -0,0 +1,834 @@ +Tue Jul 16 11:34:34 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * wait.c (EWOULDBLOCK): Define to work around new libc bug. + +Sun Jul 7 21:04:03 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * mgt.c (S_proc_reauthenticate): Don't use unsafe MOVE_SEND in + user-side interruptible RPC. + +Wed Jul 3 14:44:00 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * mgt.c (process_has_exited): When reparenting children to init, + if one of them is dead, alert init. + +Fri Jun 28 11:54:21 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * proc.h (check_owner): Return true any time PROC1 has root. + +Thu May 30 19:11:31 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * pgrp.c (S_proc_getsidport): MAKE_SEND_ONCE -> MAKE_SEND. + +Wed May 29 11:35:37 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * info.c (S_proc_getprocinfo): Get rid of temp hack for strnlen. + +Fri May 24 15:50:14 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * info.c (S_proc_getprocinfo): Set PI->exitstatus and PI->sigcode. + + * mgt.c (process_has_exited): Don't call alert_parent if P->p_task + is null (which happens only if this is the stub process in + proc_reassign). This because the parent is uninvolved in the + death of stubp. + +Wed May 22 17:47:15 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * stubs.c (send_signal): Send sigcode in message. + + * msg.c (S_proc_setmsgport): Add OLDMSGPORT_TYPE param. + +Tue May 14 22:50:49 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * proc.h (check_owner): New inline function. + * info.c (S_proc_pid2task, S_proc_pid2proc): Use check_owner. + +Sun May 12 13:22:04 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * info.c (PI_FETCH_THREAD_DETAILS): New macro. + (S_proc_getprocinfo): Only allocate thread detail storage if we're + actually returning thread details (a lone PI_FETCH_THREADS simply + means "number of threads"). React to errors somewhat more gracefully. + + * info.c (S_proc_getprocinfo): Add comment. + +Fri May 10 16:32:17 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * info.c (S_proc_get_tty): New function. + +Fri May 10 09:26:53 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * mgt.c (S_proc_exception_raise): Fetch sigcode from correctly + named member of HSD. + +Thu May 9 19:13:14 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * mgt.c (S_proc_reauthenticate): Use new authentication + interface. + + * mgt.c (S_proc_setowner): Expect and interpret new CLEAR parm. + + * info.c (S_proc_getprocinfo): FLAGS is now an in-out parameter. + + * proc.h (struct proc): Add p_sigcode. + * wait.c (S_proc_wait): New parm SIGCODE; return p_sigcode in it. + (S_proc_mark_stop): New parm SIGCODE; record it. + (S_proc_mark_exit): Likewise. + (alert_parent): Set P->p_sigcode if process is dying irregularly. + * mgt.c (S_proc_exception_raise): Set P->p_sigcode; use new + _hurd_exception2signal args. + +Mon May 6 14:23:11 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * proc.h (OUR_VERSION): Upgrade to 0.0. + +Tue Apr 30 16:48:49 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * info.c (S_proc_getprocinfo): Release GLOBAL_LOCK around time + consuming bits, and more importantly, potential calls to P's + msgport, which can block. + Fix test when appending to WAITS. + +Mon Apr 29 16:58:24 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * info.c (S_proc_getprocinfo): Install temporary hack so things at + least compile. Turned on thread_waits code. + +Mon Apr 15 13:51:41 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * mgt.c (process_has_exited): Clear p->p_waited. + +Fri Mar 29 09:38:28 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * wait.c (S_proc_wait): When looking for a specific pid, use + pid_find_allow_zombie, not ordinary pid_find. + + * mgt.c (S_proc_reassign): Use new ports_transfer_right call + instead of claim/install sequence; the latter has leaves the port + out of any hash table for a time, which produces a race with + incoming messages. + +Thu Mar 28 09:21:16 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * mgt.c (S_proc_reassign): Make send once right directly from + value in P->p_pi, don't use ports_get_right. + + * mgt.c (process_has_exited): Inhibit this call from happening + twice. + + * info.c (S_proc_pid2task): Return MACH_PORT_NULL for a zombie. + (S_proc_pid2proc): Likewise. + + * Makefile (mutated_ourmsg_U.h): New target. + * mgt.c: Include mutated_ourmsg_U.h instead of ourmsg_U.h. + * pgrp.c: Likewise. + + * wait.c: Don't include ourmsg_U.h or process_reply_U.h. + * msg.c: Don't include process_reply_U.h. + + * msg.c (S_proc_getmsgport): Allow call to be made for dead + processes; they'll return null. Thank you, Mr. Posix. + * mgt.c (process_has_exited): Null out P->p_msgport and drop + reference. + + * wait.c (S_proc_wait): Return EOPNOTSUPP if RPC destination is + not a valid process. + (S_proc_mark_stop): Likewise. + (S_proc_mark_exit): Likewise. + (S_proc_mark_cont): Likewise. + (S_proc_mark_traced): Likewise. + (S_proc_mod_stopchild): Likewise. + * msg.c (S_proc_setmsgport): Likewise. + (S_proc_getmsgport): Likewise. + * pgrp.c (S_proc_setsid): Likewise. + (S_proc_getsidport): Likewise. + (S_proc_setpgrp): Likewise. + (S_proc_mark_exec): Likewise. + * mgt.c (S_proc_reauthenticate): Likewise. + (S_proc_child): Likewise. + (S_proc_reassign): Likewise. + (S_proc_setowner): Likewise. + (S_proc_getpids): Likewise. + (S_proc_set_arg_locations): Likewise. + (S_proc_dostop): Likewise. + * info.c (S_proc_pid2task): Likewise. + (S_proc_proc2task): Likewise. + (S_proc_pid2proc): Likewise. + (S_proc_make_login_coll): Likewise. + (S_proc_setlogin): Likewise. + (S_proc_getlogin): Likewise. + * host.c (S_proc_sethostid): Likewise. + (S_proc_sethostname): Likewise. + (S_proc_getprivports): Likewise. + (S_proc_setexecdata): Likewise. + + * proc.h (process_drop): New (inline) function. + * hash.c (reqport_find): Only deallocate newly found reference + if process is dead. + * Makefile (MIGSTUBS): Delete process_replyUser.c. + (MIGSFLAGS): Provide new definition. + * msg.c (S_proc_setmsgport): Spawn thread to tickle init instead + of sending reply here. + (tickle_init): New function. + +Mon Mar 25 17:02:04 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * Makefile (proc): Add libshouldbeinlibc.a. + * main.c: Include <wire.h>. + (main): Use wire_task_self instead of doing it ourselves. + +Thu Mar 21 11:59:29 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * wait.c (S_proc_wait) [child_ready]: Flip test of waited flag. + * mgt.c (new_proc): Oops, reinstall code to request dead name + notification on the task port. + +Wed Mar 20 10:41:01 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * pgrp.c (S_proc_setpgrp): Delete bletcherous hack from July 22, + 1995. + + -- All these changes get rid of zombies and integrate them + into the regular process tables. -- + * proc.h (struct zombie): Delete type. + (zombie_list): Delete variable. + * hash.c (pid_find): Return 0 if process is dead. + (task_find): Likewise. + (task_find_nocreate): Likewise. + (pidfree): Don't call zombie_check_pid. Call + pid_find_allow_zombie instead of pid_find. + (pid_find_allow_zombie): New function. + (prociterate): Don't call FUN for dead processes. + * mgt.c (new_proc): Initialize P->p_dead. + (process_has_exited): Don't call reparent_zombies. Set P->p_dead. + Don't remove from hash tables here, delete ref to task port or + remove from parent's list of children (now in + complete_exit). Don't remove from pgrp here. + (complete_exit): New function. + * wait.c (alert_parent): Don't create zombie. + (reparent_zombies): Delete function. + (S_proc_wait): Don't scan zombie list; check dead children at the + same time as stopped children. When completing wait on a dead + child, call complete_exit after we've finished work. + (zombie_check_pid): Delete function. + * proc.h (complete_exit): Provide prototype. + + -- All these changes make proc multithreaded + and use the ports library in the usual fashion + (well, almost the usual fashion) -- + * Makefile (proc): Mention ../libports/libports.a. + * hash.c (porthash, exchash): Delete variables. + (reqport_find): Use ports library instead of porthash. + (add_proc_to_hash): Don't add to porthash. + (remove_proc_from_hash): Don't remove from porthash. + (exc_find, remove_exc_from_hash): Delete functions. + * mgt.c (new_proc): Allocate new proc structure with + ports_create_port. Don't frob P->p_reqport. + (process_has_exited): Don't frob P->p_reqport, cal + ports_destry_right instead. + * proc.h (proc_bucket, proc_class): New variables. + (request_portset): Delete variable. + * proc.h (struct proc): Delete members `p_reqport' and + p_porthashloc. Add member `p_pi'. + * Makefile (MIGSFLAGS): Delete variable. + * proc.h (global_lock): New variable. + * main.c (global_lock): Provide definition. + (message_demuxer): Lock global_lock around work. + (main): Initialize proc_bucket and proc_class instead of + request_portset. Initialize generic_port through ports + library calls. Fetch startup procserver port through ports + library instead of reading p_reqport. Initialize exc_class. + * mgt.c (S_proc_reauthenticate) Likewise. + + * proc.h: Include <hurd/ports.h> and <cthreads.h>. + * info.c (S_proc_task2proc): Use ports_get_right instead + of p_reqport. + (S_proc_pid2proc): Likewise. + * proc.h (exc_port_class): New variable. + (struct exc): Add member `pi'. Remove member `excport'. + * mgt.c (S_proc_handle_exceptions): Allocate using + ports library. + (S_proc_exception_raise): Use ports library to manage + structure. + (exc_clean): New function. + + +*** + + -- All these changes switch to using condition variables + for wakeup instead of explicit block code -- + * mgt.c (new_proc): Initialize P->p_wakeup. + * wait.c (waiting_parent_cares): Delete function. + * Makefile (MIGSTUBS): Delete interruptServer.o. + * main.c (message_demuxer): Remove call to interrupt_server. + Add call to ports_interrupt_server. + * wait.c: Don't include "interrupt_S.h". + (alent_parent): Unconditionally enqueue zombie. + (S_interrupt_operation): Delete function. + (abort_wait): Delete function. + * msg.c (abort_getmsgport): Delete function. + * wait.c (alert_parent): Use condition_broadcast instead of + continuation stuff. + (reparent_zombies): Likewise. + (S_proc_mark_stop): Likewise. + * msg.c (check_message_return): Likewise. + (check_message_dying): Likewise. + * wait.c (S_proc_wait): Use condition_wait instead of continuation + stuff; never return EBUSY. + * msg.c (S_proc_getmsgport): Likewise. + * proc.h (struct proc): New member `p_wakeup'. Delete member + `p_continuation'. + + + +Mon Feb 12 14:13:55 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * info.c (S_proc_getprocinfo): Fail reasonably for #ifdef'd-out + thread waits code. + +Fri Feb 9 15:45:07 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * info.c (S_proc_getprocinfo): Support returning wait strings. + +Fri Feb 9 15:19:14 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * mgt.c (S_proc_exception_raise): Rewritten. + (S_proc_handle_exceptions): Don't set E->replyport. + (S_proc_exception_raise_reply): Function removed. + * main.c (message_demuxer): Don't call proc_excrepl_server. + * proc_excrepl.defs: File removed. + * Makefile (DIST_FILES): Remove proc_excrepl.defs. + (MIGSTUBS): Remove its objects. + * proc_exc.defs: Add msgoption arg. + Use integer_t where appropriate. + * notify.c (do_mach_notify_no_senders): Don't use E->replyport. + * proc.h (struct exc): Removed useless members `replyport', + `replyporttype'. + +Wed Dec 20 17:29:13 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * mgt.c (S_proc_reassign): Have notifications sent to the correct + request port. + Once we've given STUBP's request port to P, don't leave it in + STUBP, so process_has_exited() doesn't dealloc it. + + * pgrp.c (S_proc_getsidport): Add and use new arg sessport_type. + +Wed Dec 20 13:31:01 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * mgt.c (new_proc): Don't set P->p_noowner for processes 0 and 1. + +Wed Dec 20 13:09:04 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * info.c (get_vector): Rewritten without arbitrary limits. + +Tue Dec 19 18:14:30 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * pgrp.c (free_session): Correctly get rid of the receive right + we're holding. + (S_proc_getsidport): Return errors. + +Tue Dec 19 13:58:59 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * info.c (get_string_array): Fix stupid bug in copying to newly + allocated space. + +Tue Dec 19 13:17:46 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * mgt.c (S_proc_reauthenticate): Reverse miles' last change. + +Mon Dec 18 19:56:03 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * mgt.c (S_proc_reauthenticate): Don't return 0 for the new port. + +Tue Nov 21 13:50:30 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * wait.c (S_interrupt_operation): Include new seqno parameter. + +Tue Nov 14 13:15:55 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * wait.c (S_proc_wait): `p->msgportwait' ==> `p->p_msgportwait' + typo fix. + +Thu Nov 9 13:01:28 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * msg.c (S_proc_setmsgport): Only do the RPC reply by hand for + init. Also, return the correct port in that by-hand reply. + + * msg.c (S_proc_getmsgport): Also return EBUSY if P->waiting, + because both share the same memory in the proc structure. + * wait.c (S_proc_wait): Likewise, mutatis mutandis. + +Wed Nov 8 13:10:27 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * info.c (S_proc_getprocinfo): Don't attempt msg_report_wait if + P->p_msgport is not valid. + + * info.c (S_proc_getprocinfo): Inhibit PI_FETCH_THREAD_WAITS for + now. + +Tue Nov 7 19:49:32 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * info.c (S_proc_getprocinfo): Calculate the size of the returned + structure correctly. + +Sun Nov 5 02:05:10 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * proc.h: Include <sys/resource.h>. + + * info.c (S_proc_getprocinfo): Add NOISE and NOISE_LEN args. + Fix various typos. Initialize ERR. + +Tue Oct 31 14:19:04 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * wait.c (struct zombie): Deleted; now in proc.h. + (zombie_list): Likewise. + * proc.h (struct zombie): New type. + (zombie_list): New variable. + + * info.c (S_proc_getprocinfo): Implement all the rest of the PI + flags except PI_ZOMBIE. + +Mon Oct 30 16:22:49 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * info.c (S_proc_getprocinfo): Support new FETCH flags; support + new msg_report_wait call; improve organization. + + * info.c (S_proc_getprocenv): Removed #ifdef notyet; fixed args to + get_string_array. + +Sat Sep 16 12:57:31 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * ourmsg.defs: New file. + * Makefile (DIST_FILES): Added ourmsg.defs. + (ourmsg_U.h ourmsgUser.c, ourmsg.defs): Targets removed. + +Thu Aug 24 10:38:58 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * Makefile (MIGSTUBS): New variable. + (OBJS): Get the mig stubs from $(MIGSTUBS). + +Wed Aug 23 14:25:30 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * Makefile (proc): Put all dependencies here. + (HURDLIBS, REMHDRS): Removed. + (OBJS): Calculate the appropiate bits from $(SRCS). + +Sat Jul 22 15:04:52 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * wait.c (zombie_check_pid): Examine Z->pgrp too. + + * pgrp.c (S_proc_setpgrp): Install bletcherous hack. + +Thu Jul 6 15:41:22 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> + + * hash.c: "ihash.h" -> <hurd/ihash.h>. + + * Makefile (ourmsg_U.h ourmsgUser.c): Use local ourmsg.defs + instead of include file directly. + (ourmsg.defs): New target. + + * Makefile: Removed dependencies that are now automatically + generated. + +Tue Jun 27 12:02:47 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> + + * mgt.c (S_proc_dostop): Remove assigments from inside if tests. + +Tue Jun 6 13:24:51 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> + + * Makefile (OBJS): Removed ihash.o and primes.o. + (CPPFLAGS): Deleted addition of -I../lib. + (vpath): Deleted spec. + (REMHDRS): Added ../libihash/ihash.h. + (HURDLIBS): Added libihash. + +Wed Apr 26 14:32:19 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> + + * wait.c (S_proc_wait): Use `waiter_cares', not + `waiting_parent_cares' in zombie check. + +Tue Apr 18 09:30:13 1995 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu> + + * wait.c (reparent_zombies): Send SIGCHLD signal to init. + + * wait.c (S_proc_wait): Don't return ESRCH; return ECHILD. + +Wed Apr 12 14:36:30 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> + + * Makefile (SRCS): Omit primes.c (it's moved to the lib dir). + +Thu Apr 6 14:29:06 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * info.c (S_proc_getprocinfo): New var `tp'. Bother to set + PI->logincollection. + +Wed Apr 5 20:32:02 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * wait.c (waiter_cares, waiting_parent_cares): New functions. + (alert_parent, reparent_zombies, S_proc_wait, S_proc_mark_stop): + Use them. + +Tue Apr 4 14:36:36 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * main.c (main): Wire text and data segment on startup to avoid + failure mode during non-standalone pseudo-crash. + +Tue Mar 14 11:55:00 1995 Miles Bader <miles@geech.gnu.ai.mit.edu> + + * hash.c (addhash, findhash): Moved to ihash.c (which is has a more + generic interface) and renamed ihash_add & ihash_find; all callers + changed. Other changes: struct htable becomes struct ihash, and + all routines that previously deleted things explicitly use + ihash_locp_remove instead. + +Thu Jan 19 02:01:14 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * pgrp.c (S_proc_setpgrp): Use nowait_msg_proc_newids instead of + nowait_proc_newids. + * mgt.c (S_proc_child): Likewise. + +Tue Jan 17 17:48:32 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * mgt.c (check_uid): Return true if P has root. + + * proc.h (struct proc): Make `argv' and `envp' members + `vm_address_t'. + +Thu Nov 3 12:13:49 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * mgt.c (S_proc_getallpids): Don't dereference PIDS in call + to vm_allocate. + + * info.c (S_proc_getprocinfo): Don't take address of PIARRAY + in call to vm_allocate. Dereference PIARRAY in call to + vm_deallocate. + +Fri Oct 14 04:54:46 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * mgt.c (new_proc): Don't assume MACH_PORT_NULL is zero. + (genpid): Deal with all pids between STAR_OVER and WRAP_AROUND + being used. + +Mon Oct 10 14:23:00 1994 Jim Blandy <jimb@geech.gnu.ai.mit.edu> + + * primes.c (nextprime): Doc fix. + +Mon Oct 10 02:18:02 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * host.c (rebuild_uname): If all the server versions after [0] + (the microkernel) match, merge them all into one "Hurd-VERSION" + element in the uname version string. + +Sun Oct 2 20:36:57 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * host.c (S_proc_sethostname): Don't write off end of + uname_info.nodename. + (rebuild_uname): Rewritten. + (initialize_version_info): Write Mach version info as first + element of server_versions. + (machversion): Variable removed. + +Sat Sep 10 11:37:32 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * mgt.c (make_ids): Copy from UIDS and GIDS into newly allocated + space, not vice versa. + +Wed Aug 31 11:03:13 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * mgt.c (S_proc_reassign): Rather than getting a new request port, + preserve STUBP's request port. This is more convenient for + users (and equally good security), and it's what the protocol spec + says anyway. + +Tue Aug 30 12:44:37 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * primes.c: Replaced file with new version from Jim Blandy + (jimb@gnu.ai.mit.edu), David Carlton (carlton@math.mit.edu). + + * proc.h (check_dead_execdata_notify): Add prototype. + +Mon Aug 29 12:53:27 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * mgt.c (S_proc_reauthenticate): Use new authentication protocol. + +Tue Aug 23 11:41:26 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * pgrp.c (S_proc_setpgrp): If we don't actually change the pgrp, + still send proc_newids; the library depends on always getting it. + +Mon Aug 22 17:09:21 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * wait.c (S_proc_mark_stop): Removed now meaningless assert. + + * info.c (S_proc_getloginpids): Compute size in realloc correctly. + +Mon Aug 22 13:29:21 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * wait.c (S_proc_mod_stopchild): Negate VALUE; sense of + p_nostopcld flag is opposite of flag value described in process.defs. + +Fri Aug 19 10:21:57 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * pgrp.c (S_proc_getpgrppids): Understand PGID of zero as meaning + caller's pgrp. + + * mgt.c (S_proc_child): Check CHILDP->p_msgport against + MACH_PORT_NULL explicitly. + + * pgrp.c (join_pgrp): If pg->pg_orphcnt has significantly changed, + then notify all the processes in the pgrp. + (leave_pgrp): Only send newids message if ip->p_msgport is set. + * mgt.c (S_proc_child): Becase join_pgrp now always sends + newids; don't do it here if we called join_pgrp. + +Fri Aug 19 04:53:04 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * pgrp.c (leave_pgrp): Fix swapped args to nowait_proc_newids. + (join_pgrp): Call nowait_proc_newids to notify the process. + +Thu Aug 18 10:40:13 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * mgt.c (S_proc_reauthenticate): Use MACH_MSG_TYPE_MAKE_SEND + to create a send right from P->p_reqport. + + * main.c (main): Removed var `authhandle'. Use global + `authserver' instead. + +Wed Aug 17 14:02:31 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * host.c (init_stdarrays): Removed function. + (S_proc_execdata_notify): Never call init_stdarrays. + Only call exec_setexecdata if std_port_array is set. + (S_proc_getexecdata): Return error if there is no std_port_array. + +Mon Aug 15 16:12:22 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * host.c (check_dead_execdata_notify): New function. + * notify.c (do_mach_notify_dead_name): For notifications sent + to GENERIC_PORT, call check_dead_execdata_notify. + * main.c (main): Create GENERIC_PORT and put it in + REQUEST_PORTSET. + + * host.c (init_stdarrays): New function. + (S_proc_execdata_notify): Call init_stdarrays the first time. + (S_proc_getexecdata): Likewise. + + * host.c: Include <hurd.h> for various frobs. Include + <unistd.h> for getpid. + +Fri Jul 22 11:01:53 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * Makefile: Rewritten in accord with new scheme. + * wait.c: Include "ourmsg_U.h" instead of "msg.h". + Include "process_reply_U.h" instead of "process_reply.h". + Include "process_S.h" instead of "proc_S.h". + * mgt.c: Include "proc_exc_U.h" instead of "proc_exc.h". + Include "proc_excrepl_U.h" insted of "proc_excrepl.h". + Include "ourmsg_U.h" instead of "msg.h". + Include "process_S.h" instead of "proc_S.h". + * pgrp.c: Include "process_S.h" instead of "proc_S.h". + Include "ourmsg_U.h" instead of "msg.h". + * msg.c: Include "process_reply_U.h" instead of "process_reply.h". + * host.c: Include "process_S.h" instead of "proc_S.h". + * info.c: Likewise. + +Wed Jul 20 16:18:31 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * wait.c (alert_parent): Delete unused variable `err'. + +Tue Jul 19 12:45:43 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * Makefile (proc): Don't use variable $(link) anymore. + +Mon Jul 11 14:32:17 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * pgrp.c (leave_pgrp): When pulling process off of pgrp list, + mutate *both* links. + (free_pgrp): When pulling pgrp off of session list, mutate + *both* links. + +Tue Jul 5 14:23:21 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * Makefile (TAGSLIBS, TAGSHDRS): New variables. + +Fri Jul 1 10:57:07 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * stubs.c (send_signal): Rewrote to be machine independent + and cleaner. + +Thu Jun 30 14:05:21 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * stubs.c: New file. + * wait.c (alert_parent): Call send_signal instead of nowait_sig_post. + (S_proc_mark_stop): Likewise. + * pgrp.c (leave_pgrp): Likewise. + * proc.h (send_signal): New prototype. + * Makefile (OBJS): Added stubs.o. + (SRCS): Added stubs.c. + (LIBS): New var to get cthreads library. + + * wait.c (alert_parent): Eliminate pointless assert with confusingly + incorrect comment. + + * hash.c (findhash): If we find a slot with ID matching the + one we're looking for, but it has been deleted, then return + 0 rather than HASH_DEL. + + * wait.c (S_proc_wait, reparent_zombies, alert_parent): Use + macros WAIT_ANY and WAIT_MYPGRP instead of magic values -1 + and 0. + + * wait.c (S_proc_wait): Implement correct interpretation of PID + argument: -1 means any child; 0 means child in the same pgrp. + [Incorrect semantics were in loop to search zombies, and loop + looking for stopped children] + (reparent_zombies): Likewise. [Incorrect semantics were in + PID check before returning startup_proc's wait.] + (alert_parent): Likewise. [Incorrect semantics were in + PID check before returning P->p_parent's wait.] + + * wait.c (S_proc_wait): Only return wait on stopped child if + it passes the PID test. + + * pgrp.c (S_proc_setpgrp): Don't do process group change if we are + changing into our own process group. + * mgt.c (S_proc_child): Likewise. + + * pgrp.c (S_proc_setpgrp): When PID is zero, act on calling + process; when PGID is zero, use pid of affected process. + (S_proc_setpgrp): EPERM check should succeed if pgid is the + affected process's *pid*, not pgrp. + +Thu Jun 30 08:40:35 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * mgt.c (S_proc_dostop): Use the proper allocation for task_threads. + Check for errors. Deallocate the send right from CONTTHREAD too. + + * wait.c (alert_parent): Send SIGCHLD to the parent. + +Tue Jun 28 18:12:43 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * primes.c: Include <assert.h>. + (nextprime): Use calloc instead of alloca, bzero. P might be + bigger than will fit on the stack. Assert non-null return + from calloc and realloc. + +Tue Jun 28 13:57:08 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * main.c (main): Set priority of proc server to 2 so that we + get more CPU than ordinary programs. + +Fri Jun 24 17:29:55 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * hash.c (struct htable): New member `locps'. + (addhash): Store LOCP into hash table for use during rehash. + During rehash, then provide correct LOCP parm for old elements. + Allocate and free HT->locps as appropriate. + +Fri Jun 24 04:15:16 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * mgt.c (S_proc_setprocargs): Renamed to S_proc_set_arg_locations. + (S_proc_get_arg_locations): New function. + +Mon Jun 20 15:07:00 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * Makefile (install): Use $(INSTALL_BIN) instead of cp. + +Fri Jun 17 13:00:27 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * mgt.c (S_proc_child): Reverse Roland's change of June 11. + +Sat Jun 11 11:20:16 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * mgt.c (S_proc_child): Inherit the argv and envp values from the + parent. + +Fri May 27 16:03:53 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * primes.c: Doc fix, with appreciation to Jim Blandy. + +Fri May 13 16:58:13 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * info.c (S_proc_getprocinfo): Only scan through the threads + if task_info succeeds. + + * info.c (S_proc_getprocinfo): Behave properly if one of the + threads has died in between the call to task_threads and the + calls to thread_info (just pretend it never existed). + + * info.c (get_string, get_vector, S_proc_getprocinfo): If the task + has died (there's a race between pending requests and processing + of dead-name notifications) then convert MACH_SEND_INVALID_DEST to + ESRCH. + +Thu May 12 00:59:03 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * main.c (main): Take three args. Store ARGV and ENVP in SELF_PROC. + + * info.c (S_proc_getprocargs): Remove `#ifdef notyet's. + (get_string, get_vector, get_string_array): Functions exposed. + (get_string_array): Set BP before the loop. Use a for loop that + iterates over elts in VECTOR. Fix check of LEN to reallocate buffer. + (S_proc_getprocargs): Cast BUF to vm_address_t * for get_string_array. + (get_vector): Fix pointer arithmetic; break out of loop when done. + Check for error from malloc. + (get_string): Use memchr for scanning. Check for error from + malloc. Pass READLEN correctly to vm_deallocate. + + * msg.c (S_proc_setmsgport): Take new reply port args. + Send reply before trying startup_essential_task. + Include <hurd/startup.h> to declare startup_essential_task. + + * cpu-types.c: New file. + * Makefile (SRCS, OBJS): Add it. + * host.c: Include <stdio.h> for sprintf. + (rebuild_uname): Removed unused variable J. + (S_proc_register_version): Fix arg types. + Use master_host_port, not host_priv. + Remove unused variable J. + (server_versions): Fix syntax errors in struct definition. + (S_proc_uname): Fixed type of first arg. + (rebuild_uname): Fix typo. + (initialize_version_info): Cast args to host_info. + (initialize_version_info): Allocate space for machversion. + +Mon May 9 14:32:37 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * mgt.c (new_proc): Regard init as having a dead message + port initially. + + * msg.c (S_proc_setmsgport): When init chimes in, tell it + we are essential. + + * proc.h (OUR_VERSION, OUR_SERVER_NAME): New macros. + * host.c (uname_info, machversion, server_versions, + nserver_versions, server_version_nalloc): New variables. + (S_proc_register_version, rebuild_uname, initialize_version_info, + S_proc_uname): New functions. + (S_proc_sethostname): Also set uname_info.nodename. + * main.c (main): Call initialize_version_info. + +Fri May 6 13:00:36 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * host.c (S_proc_gethostname): If HOSTNAME is null, return + an empty hostname instead of crashing. + (S_proc_gethostname): Test buffer length properly; allocate + space for the null too. + + * mgt.c (process_has_exited): delete unused variable LAST. + * msg.c (check_message_return): delete unused variables I, + MSGPORTS, and CP. Changed type of second arg to `void *' + so that the function type is appropriate for the first arg + to prociterate. + (check_message_dying): delete unused variable I. + + * wait.c, host.c, info.c, mgt.c, notify.c, pgrp.c: Changed MiG + server stubs' return types from error_t to kern_return_t; the + types are incompatible right now. + +Thu May 5 07:50:24 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makefile: Change uses of $(headers) to $(includedir). + |