summaryrefslogtreecommitdiff
path: root/libports/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'libports/ChangeLog')
-rw-r--r--libports/ChangeLog499
1 files changed, 499 insertions, 0 deletions
diff --git a/libports/ChangeLog b/libports/ChangeLog
new file mode 100644
index 00000000..1d2c0061
--- /dev/null
+++ b/libports/ChangeLog
@@ -0,0 +1,499 @@
+Sat Mar 6 17:05:45 1999 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * notify-dead-name.c (ports_do_mach_notify_dead_name): Deallocate
+ newly created reference to DEAD_NAME.
+
+1999-02-28 Roland McGrath <roland@baalperazim.frob.com>
+
+ * destroy-right.c (ports_destroy_right): Return error_t (always 0).
+ * ports.h: Update decl.
+
+ * bucket-iterate.c (_ports_bucket_class_iterate): New function,
+ transmorgified from ports_bucket_iterate.
+ (ports_bucket_iterate): Now just call that to do the work.
+ * class-iterate.c: New file.
+ (ports_class_iterate): New function.
+ * ports.h: Declare ports_class_iterate and _ports_bucket_class_iterate.
+ * Makefile (SRCS): Add class-iterate.c.
+
+Thu Feb 25 10:31:57 1999 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * end-rpc.c (ports_end_rpc): Signal ports_block anytime an rpc
+ ends and someone is waiting on an inhibition.
+
+1999-01-01 Roland McGrath <roland@baalperazim.frob.com>
+
+ * interrupt-on-notify.c (ports_interrupt_self_on_notification): Use
+ assert to check we are in an rpc; don't return EIEIO (not appropriate).
+
+1997-08-14 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * interrupt-rpcs.c (ports_interrupt_rpcs): Put RPC into the
+ interrupted list.
+ * end-rpc.c (ports_end_rpc): Call ports_self_interrupted to remove
+ the current thread from the interrupted list.
+ * ports.h (ports_self_interrupted): New declaration.
+ (struct rpc_info): Add interrupted_next field.
+ * Makefile (SRCS): Add interrupted.c.
+
+Wed Aug 20 13:56:40 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * manage-multithread.c (ports_manage_port_operations_multithread):
+ Drop parms `wire_cthreads' and `wire_threads'. Add parm `hook'.
+ (thread_function): Call HOOK instead of cthread_wire and/or
+ thread_wire.
+ * ports.h (ports_manage_port_operations_multithread): Adjust
+ declaration.
+
+Fri Feb 14 00:51:32 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * create-bucket.c (ports_create_bucket): Initialize rpcs, flags, &
+ count fields in RET.
+
+Thu Sep 12 16:19:35 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * Makefile (HURDLIBS): New variable.
+ (libports.so): Delete special depedency.
+
+Wed Aug 7 15:28:48 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * ports.h (_ports_create_port_internal,
+ ports_create_port_noinstall): New declarations.
+
+Thu Jul 18 22:59:14 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * Makefile (SRCS): Add create-port-noinstall.c and create-internal.c.
+ * create-port-noinstall.c: New file.
+ * create-port.c (ports_create_port): Guts deleted; call new work
+ function.
+ * create-internal.c: New file; all the guts from create-port.c.
+
+Wed Jul 3 14:13:53 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * get-right.c (ports_get_right): Supply correct sync value in
+ notification request.
+
+Mon May 6 16:33:55 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * ports.h (ports_allocate_port, ports_intern_external_port):
+ Delete obsolete declarations.
+ * allocate-port.c, intern-external-port.c: Delete files.
+ * Makefile (SRCS): Delete `intern-external-port.c' and
+ `allocate-port.c'.
+
+Sun Apr 28 15:22:58 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
+
+ * allocate-port.c: Add obsolescence link warning.
+ * intern-external-port.c: Add obsolescence link warning.
+
+Fri Mar 29 15:21:31 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * end-rpc.c (ports_end_rpc): Acquire _PORTS_LOCK before calling
+ _ports_remove_notified_rpc.
+
+Fri Mar 29 09:04:53 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * reallocate-from-external.c (ports_reallocate_from_external):
+ Require port to have a current port right.
+ * reallocate-port.c (ports_reallocate_port): Likewise.
+
+ * complete-deallocate.c (_ports_complete_deallocate): Only drop
+ port right if it isn't already null.
+
+ * transfer-right.c: New file.
+ * Makefile (SRCS): Add transfer-right.c.
+ * ports.h (ports_claim_right): Doc fix.
+ (ports_transfer_right): New function.
+
+Thu Mar 28 10:47:58 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * claim-right.c (ports_claim_right): Take right out of port
+ bucket.
+
+ * manage-multithread.c (ports_manage_port_operations_multithread):
+ Fill in meaningful statuses and errors rather than just zero.
+ * manage-one-thread.c (ports_manage_port_operations_one_thread):
+ Likewise.
+
+ * begin-rpc.c (ports_begin_rpc): Return EOPNOTSUPP, not EDIED, if
+ receive right is gone.
+
+ * manage-one-thread.c (ports_manage_port_operations_one_thread):
+ Fill in default reply before doing work; we might return 0 and
+ mach_msg_server expects us to fill in a reply decently no matter
+ what.
+ (ports_manage_port_operations_multithread): Likewise.
+
+ * claim-right.c (ports_claim_right): Hold lock until sendright
+ frobbing is finished.
+
+Wed Mar 20 13:32:13 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * destroy-right.c (ports_destroy_right): Don't do anything if port
+ has already been destroyed.
+
+ * ports.h (ports_claim_right): New declaration.
+ * claim-right.c: New file.
+ * Makefile (SRCS): Add `claim-right.c'.
+
+Tue Mar 5 17:28:54 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * get-right.c (ports_get_right): Check mach_port_request_notification
+ for error returns, against all odds.
+
+Mon Feb 26 17:10:38 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * interrupt-on-notify.c (ports_interrupt_rpc_on_notification):
+ Only set _PORTS_NOTIFICATIONS->prevp if _PORTS_NOTIFICATIONS != 0.
+ Likewise for PN->prev_req_p.
+
+Fri Jan 26 00:45:58 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * inhibit-class-rpcs.c (ports_inhibit_class_rpcs): Whoops, we
+ still have the lock when hurd_condition_wait gets cancelled.
+ * import-port.c (ports_import_port): Likewise.
+ * create-port.c (ports_create_port): Likewise.
+ * inhibit-bucket-rpcs.c (ports_inhibit_bucket_rpcs): Likewise.
+ * inhibit-all-rpcs.c (ports_inhibit_all_rpcs): Likewise.
+ * inhibit-port-rpcs.c (ports_inhibit_port_rpcs): Likewise.
+
+ * import-port.c (ports_import_port): Don't lose a send right on
+ PORT when we return an error.
+ * create-port.c (ports_create_port): Delete the receive right, not
+ the send right when we return an error.
+
+Thu Jan 25 12:10:48 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * manage-multithread.c (ports_manage_port_operations_multithread):
+ Pass INP->msgh_id, not INP to ports_begin_rpc.
+ * manage-one-thread.c (ports_manage_port_operations_one_thread): Ditto.
+
+Wed Jan 24 14:02:30 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * inhibit-all-rpcs.c (ports_inhibit_all_rpcs): Be interruptable;
+ return EINTR if interrupted, or EBUSY if already inhibited.
+ * inhibit-class-rpcs.c (ports_inhibit_class_rpcs): Likewise.
+ * inhibit-port-rpcs.c (ports_inhibit_port_rpcs): Likewise.
+ * inhibit-bucket-rpcs.c (ports_inhibit_bucket_rpcs): Likewise.
+ * begin-rpc.c (ports_begin_rpc): Be interruptable.
+ * create-port.c (ports_create_port): New function.
+ * import-port.c (ports_import_port): New function.
+ * allocate-port.c (ports_allocate_port): Call ports_create_port.
+ * intern-external-port.c (ports_intern_external_port): Call
+ ports_import_port.
+ * ports.h (ports_create_port, ports_import_ports): New declarations.
+ (PORTS_INHIBITED, PORTS_BLOCKED, PORTS_INHIBIT_WAIT, PORTS_NO_ALLOC,
+ PORTS_ALLOC_WAIT): New macros (global values for common flags).
+ (PORT_BLOCKED, PORT_INHIBITED, PORT_INHIBIT_WAIT,
+ PORT_BUCKET_INHIBITED, PORT_BUCKET_BLOCKED, PORT_BUCKET_INHIBIT_WAIT,
+ PORT_BUCKET_NO_ALLOC, PORT_BUCKET_ALLOC_WAIT, PORT_CLASS_INHIBITED,
+ PORT_CLASS_BLOCKED, PORT_CLASS_INHIBIT_WAIT, PORT_CLASS_NO_ALLOC,
+ PORT_CLASS_ALLOC_WAIT, _PORTS_INHIBITED, _PORTS_BLOCKED,
+ _PORTS_INHIBIT_WAIT): Redefine using global flag values.
+ (ports_inhibit_port_rpcs, ports_inhibit_all_rpcs,
+ ports_inhibit_class_rpcs, ports_inhibit_bucket_rpcs): Return error_t.
+ (ports_interupt_rpcs): Renamed from port_interrupt_rpc.
+
+ * begin-rpc.c (ports_begin_rpc): Take new MSG_ID arg, and use it to
+ see if the particular rpc shouldn't be inhibitable.
+ * manage-multithread.c (ports_manage_port_operations_multithread):
+ Pass INP to ports_begin_rpc, and only call DEMUXER if it returns 0.
+ * manage-one-thread.c (ports_manage_port_operations_one_thread): Ditto.
+ * ports.h (ports_begin_rpc): Add MSG_ID arg.
+ (struct port_class): Add uninhibitable_rpcs field.
+ (struct ports_msg_id_range): New structure.
+ (ports_default_uninhibitable_rpcs): New declaration.
+ * create-class.c (ports_create_class): Initialize the
+ uninhibitable_rpcs field.
+ * default-uninhibitable-rpcs.c (interrupt_operation_ids,
+ ports_default_uninhibitable_rpcs): New variables.
+ * Makefile (SRCS): Add default-uninhibitable-rpcs.c.
+
+ * interrupt-rpcs.c (ports_interrupt_rpcs): Renamed from
+ ports_interrupt_rpc.
+ * Makefile (SRCS): Rename interrupt-rpc.c to interrupt-rpcs.c.
+ * interrupt-operation.c (ports_S_interrupt_operation): Use
+ ports_interrupt_rpcs instead of ports_interrupt_rpc.
+ * no-senders.c (ports_no_senders): Likewise.
+
+ * manage-multithread.c (ports_manage_port_operations_multithread):
+ Fix spelling of cancel_threshold (was cancel_threshhold).
+ * interrupt-operation.c (ports_S_interrupt_operation): Likewise.
+ * ports.h (struct port_info): Likewise.
+ * reallocate-from-external.c (ports_reallocate_from_external): Ditto.
+ * reallocate-port.c (ports_reallocate_port): Likewise.
+
+Wed Jan 17 13:08:49 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * no-senders.c (ports_no_senders): Interrupt RPCs on PI too. Only
+ do the ports_interrupt_notified_rpcs() if we're actually losing a ref.
+
+Fri Jan 5 16:40:34 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * interrupt-on-notify.c (ports_interrupt_rpc_on_notification):
+ If PORT is dead or bogus, interrupt RPC immediately, and don't add
+ a new request.
+
+Thu Dec 28 14:27:41 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * interrupt-on-notify.c (ports_interrupt_rpc_on_notification): If
+ NEW_REQ is not needed, put it on the free list, don't call free on it.
+
+Thu Dec 28 11:04:06 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * ports.h (ports_interrupt_self_on_port_death): New macro.
+
+ * interrupt-notified-rpcs.c (ports_interrupt_notified_rpcs): Only
+ bother to lock _PORTS_LOCK if there are notifications.
+
+Wed Dec 27 16:27:47 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * ports.h (struct rpc_info): Get rid of next_notified/prev_notified_p.
+ (struct rpc_notify): Get rid of port, what, next fields, and add
+ rpc, notify, next, pending, next_req, and prev_req_p fields.
+ (struct ports_notify): New structure.
+ (_ports_notified_rpcs): Declaration removed.
+ (_ports_notifications): New declaration.
+ (_ports_free_ports_notifies): New declaration.
+ Include <mach/notify.h>.
+ * interrupt-on-notify.c (ports_interrupt_rpc_on_notification):
+ Mostly rewrite to use new scheme.
+ * interrupt-notified-rpcs (_ports_notified_rpcs): Variable removed.
+ (_ports_notifications, _ports_free_ports_notifications): New variables.
+ (ports_interrupt_notified_rpcs): Rewrite to use new scheme.
+ (_ports_remove_notified_rpc): Ditto.
+ (cancel_notification): Function removed.
+ (remove_req): New function.
+
+Tue Dec 26 14:39:51 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * interrupt-notified-rpcs.c (_ports_notified_rpcs,
+ _ports_free_rpc_notifies): New variables.
+ (ports_interrupt_notified_rpcs, cancel_notification,
+ _ports_remove_notified_rpc): New functions.
+ * interrupt-on-notify.c (ports_interrupt_rpc_on_notification,
+ ports_interrupt_self_on_notification): New functions, new file.
+ * ports.h (struct rpc_notify): New structure.
+ (struct rpc_info): Add rpc_notifies, rpc_next_notified, and
+ prev_notified_p fields.
+ (_ports_notified_rpcs, _ports_free_rpc_notifies,
+ _ports_remove_notified_rpc, ports_interrupt_rpc_on_notification,
+ ports_interrupt_notified_rpcs, ports_interrupt_self_on_notification):
+ New declarations.
+ * begin-rpc.c (ports_begin_rpc): Initialize the notifies field.
+ * end-rpc.c (ports_end_rpc): Get rid of any rpc notifications.
+ * no-senders.c (ports_no_senders): Interrupt any rpcs requesting such.
+ * dead-name.c (ports_dead_name): New function.
+ * notify-dead-name.c (ports_do_mach_notify_dead_name): Call
+ ports_dead_name().
+ * Makefile (SRCS): Add interrupt-on-notify.c,
+ interrupt-notified-rpcs.c, and dead-name.c.
+
+Tue Nov 21 22:04:28 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * manage-multithread.c: Don't wire timeouts to zero.
+
+Tue Nov 21 09:42:00 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * ports.h (ports_do_mach_notify_dead_name): Declare `extern
+ kern_return_t'.
+ (ports_do_mach_notify_msg_accepted): Likewise.
+ (ports_do_mach_notify_no_senders): Likewise.
+ (ports_do_mach_notify_port_deleted): Likewise.
+ (ports_do_mach_notify_port_destroyed): Likewise.
+ (ports_do_mach_notify_send_once): Likewise.
+ * notify-send-once.c: Include "notify_S.h".
+ * notify-port-deleted.c: Likewise.
+ * notify-msg-accepted.c: Likewise.
+ * notify-port-destroyed.c: Likewise.
+ * notify-no-senders.c: Likewise.
+ * notify-dead-name.c: Likewise.
+
+ * ports.h (struct port_info): New member `cancel_threshhold'.
+ (ports_S_interrupt_operation): Include seqno arg; declare extern
+ kern_return_t.
+ * interrupt-operation.c: Include "interrupt_S.h".
+ (ports_S_interrupt_operation): Set PI->cancel_threshhold if the
+ incoming seqno is greater than the current threshhold.
+ * manage-multithread.c
+ (ports_manage_port_operations_multithread/internal_demuxer): If
+ the incoming RPC has already been cancelled, then call
+ hurd_thread_cancel before the user's demuxer.
+ * manage-one-thread.c (ports_manage_port_operations_one_thread):
+ Doc fix.
+ * intern-external-port.c (ports_intern_external_port): Initialize
+ PI->cancel_threshhold.
+ * allocate-port.c (ports_allocate_port): Likewise.
+ * reallocate-from-external.c (ports_reallocate_from_external):
+ Clear PI->cancel_threshhold.
+ * reallocate-port.c (ports_reallocate_port): Likewise.
+
+Sat Nov 18 08:50:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * inhibit-all-rpcs.c: If calling thread is serving an RPC, don't
+ block waiting for that RPC to finish.
+ * inhibit-class-rpcs.c: Likewise.
+ * inhibit-bucket-rpcs.c: Likewise.
+ * inhibit-port-rpcs.c: Likewise.
+
+ * inhibit-all-rpcs.c (ports_inhibit_all_rpcs): Renamed from
+ inhibit_all_rpcs.
+
+Tue Oct 24 13:32:39 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * manage-multithread.c
+ (ports_manage_port_operations_multithread/internal_demuxer): Don't
+ attempt RPC if we can't get a valid port struct.
+ * manage-one-thread.c
+ (ports_manage_port_operations_one_thread/internal_demuxer): Likewise.
+
+Mon Oct 9 14:57:48 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * Makefile: Specify shared library dependencies.
+
+Fri Sep 22 10:19:17 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * ports.h: Include hurd.h.
+
+Fri Sep 8 14:44:03 1995 Michael I. Bushnell, p/BSG <mib@duality.gnu.ai.mit.edu>
+
+ * end-rpc.c (ports_end_rpc): Call hurd_check_cancel.
+
+Wed Sep 6 11:20:20 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
+
+ * ports.h (ports_interrupt_server, ports_S_interrupt_operation):
+ New declarations.
+ * Makefile (OBJS): Add interruptServer.o.
+ (SRCS): Add interrupt-operation.c.
+ * interrupt-operation.c: New file.
+
+ * ports.h (ports_notify_server, ports_do_mach_notify_*): New decls.
+ * Makefile (MIGCOMSFLAGS): New variable.
+ (OBJS): Added notifyServer.o.
+ (SRCS): Added notify-dead-name.c, notify-no-senders.c,
+ notify-port-destroyed.c, notify-msg-accepted.c,
+ notify-port-deleted.c, and notify-send-once.c.
+ * notify-dead-name.c: New file.
+ * notify-no-senders.c: New file.
+ * notify-port-destroyed.c: New file.
+ * notify-msg-accepted.c: New file.
+ * notify-port-deleted.c: New file.
+ * notify-send-once.c: New file.
+
+Wed Aug 30 16:00:36 1995 Miles Bader <miles@geech.gnu.ai.mit.edu>
+
+ * inhibit-port-rpcs.c (inhibit_port_rpcs): Renamed to
+ `ports_inhibit_port_rpcs'.
+
+Tue Aug 29 15:59:49 1995 Michael I. Bushnell, p/BSG <mib@duality.gnu.ai.mit.edu>
+
+ * manage-multithread.c (ports_manage_port_operations_multithread):
+ Hammer WIRE_CTHREADS on for now.
+
+Thu Aug 24 10:25:52 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
+
+ * inhibit-port-rpcs.c (inhibit_port_rpcs): thread_cancel ->
+ hurd_thread_cancel. Include <hurd.h>.
+ * inhibit-class-rpcs.c (ports_inhibit_class_rpcs): Ditto.
+ * inhibit-bucket-rpcs.c (ports_inhibit_bucket_rpcs): Ditto.
+ * interrupt-rpc.c (ports_interrupt_rpc): Ditto.
+ * inhibit-all-rpcs.c (inhibit_all_rpcs): Ditto.
+
+ * Makefile (OBJS): Use :.c=.o notation.
+
+Wed Aug 23 15:03:11 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
+
+ * Makefile (REMHDRS): Removed.
+ Order changed a bit.
+
+Fri Jul 21 11:45:22 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
+
+ * get-right.c (ports_get_right): If the right is null (because we
+ are closing down), then just return null. (This helps in a race
+ in ufs/ex2fs).
+
+ * complete-deallocate.c (_ports_complete_deallocate): Clear
+ PI->port_right; and do it before releasing _ports_lock.
+
+ * manage-multithread.c (ports_manage_port_operations_multithread):
+ For now, wire GLOBAL_TIMEOUT and THREAD_TIMEOUT to zero.
+
+Tue Jul 18 14:29:49 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
+
+ * manage-multithread.c (ports_manage_port_operations_multithread)
+ [thread_function]: Return int. Don't cthread_exit child threads;
+ just let them return normally.
+
+Wed Jul 12 13:32:22 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
+
+ * resume-class-rpcs.c (ports_resume_class_rpcs): Clear blocked
+ flag using correct name.
+
+ * manage-multithread.c (ports_manage_port_operations_multithread)
+ [internal_demuxer]: Increment NREQTHREADS and TOTALTHREADS
+ *before* forking newthread.
+ [thread_function]: Don't increment NREQTHREADS and TOTALTHREADS here.
+ Initialize NREQTHREADS and TOTALTHREADS in main body of function.
+
+Sat Jul 8 15:10:50 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
+
+ * allocate-port.c (ports_allocate_port): Properly add PI to
+ CLASS's port list when the list is empty (why did this work before?).
+ * intern-external-port.c (ports_intern_external_port): Ditto.
+ * begin-rpc.c (ports_begin_rpc): Ditto adding INFO to PI's
+ current_rpcs list.
+ * create-class.c (ports_create_class): Initialize the PORTS and
+ COUNT fields.
+
+Thu Jul 6 15:36:57 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
+
+ * Makefile: Removed dependencies that are now automatically
+ generated.
+
+Tue Jun 27 15:28:54 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
+
+ * Makefile (SRCS): Add it *back*.
+ * stubs.c: New file.
+
+Mon Jun 26 16:51:42 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
+
+ * ports.h: Fix spelling error.
+
+ * manage-multithread.c (ports_manage_port_operations_multithread):
+ Declare NREQTHREADS asd TOTALTHREADS volatile.
+
+ * manage-multithread.c
+ (ports_manage_port_operations_multithread/thread_function): Don't
+ hold lock while setting TIMEOUT.
+ When master goes back to wait for messages, it should unlock LOCK.
+ Declare ERR inside THREAD_FUNCTION so it doesn't get shared by
+ multiple threads.
+
+Thu Jun 22 11:28:56 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
+
+ * get-right.c (ports_get_right): Parenthesize flag test correctly.
+ * reallocate-from-external.c (ports_reallocate_from_external):
+ Likewise.
+
+ * enable-bucket.c (ports_enable_bucket): Clean flag correctly.
+
+ * lookup-port.c (ports_lookup_port): UNlock port lock at exit of
+ function.
+
+ * bucket-iterate.c: Include <hurd/ihash.h> and <cthreads.h>.
+ (ports_bucket_iterate): Fix decl of NXT.
+
+Wed Jun 21 14:25:04 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
+
+ * Makefile (SRCS): Added bucket-iterate.c.
+ * bucket-iterate.c: New file.
+ * ports.h (port_bucket_iterate): New decl.
+
+Tue Jun 20 12:35:44 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
+
+ * enable-bucket.c: Include <cthreads.h>.
+ * enable-class.c: Likewise.
+ * count-bucket.c: Likewise.
+
+ * libports/lookup-port.c (ports_lookup_port): Remove assignment
+ from if test.