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).

