diff options
Diffstat (limited to 'libports/ChangeLog')
-rw-r--r-- | libports/ChangeLog | 499 |
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. |