This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 10/18] Remote thread create/exit events


> From: Pedro Alves <palves@redhat.com>
> Date: Wed, 14 Oct 2015 16:27:58 +0100
> 
> gdb/doc/ChangeLog:
> 2015-10-14  Pedro Alves  <palves@redhat.com>
> 
> 	* gdb.texinfo (Remote Configuration): List "set/show remote
> 	thread-events" command in configuration table.
> 	(Stop Reply Packets): Document "T05 create" stop
> 	reason and 'w' stop reply.
> 	(General Query Packets): Document QThreadEvents packet.  Document
> 	QThreadEvents qSupported feature.
> 
> gdb/gdbserver/ChangeLog:
> 2015-10-14  Pedro Alves  <palves@redhat.com>
> 
> 	* linux-low.c (handle_extended_wait): Assert that the LWP's
> 	waitstatus is TARGET_WAITKIND_IGNORE.  If GDB wants to hear about
> 	thread create events, leave the new child's status pending.
> 	(linux_low_filter_event): If GDB wants to hear about thread exit
> 	events, leave the LWP marked dead and don't delete it.
> 	(linux_wait_for_event_filtered): Don't check for thread exit.
> 	(filter_exit_event): New function.
> 	(linux_wait_1): Use it, when returning an exit event.
> 	(linux_resume_one_lwp_throw): Assert that the LWP's
> 	waitstatus is TARGET_WAITKIND_IGNORE.
> 	* remote-utils.c (prepare_resume_reply): Handle
> 	TARGET_WAITKIND_THREAD_CREATED and TARGET_WAITKIND_THREAD_EXITED.
> 	* server.c (report_thread_events): New global.
> 	(handle_general_set): Handle QThreadEvents.
> 	* server.h (report_thread_events): Declare.
> 
> gdb/ChangeLog:
> 2015-10-14  Pedro Alves  <palves@redhat.com>
> 
> 	* NEWS (New commands): Mention "set/show remote thread-events"
> 	commands.
> 	(New remote packets): Mention thread created/exited stop reasons
> 	and QThreadEvents packet.
> 	* infrun.c (disable_thread_events): New function.
> 	(stop_all_threads): Disable/enable thread create/exit events.
> 	Handle TARGET_WAITKIND_THREAD_EXITED.
> 	(handle_inferior_event_1): Handle TARGET_WAITKIND_THREAD_CREATED
> 	and TARGET_WAITKIND_THREAD_EXITED.
> 	* remote.c (remove_child_of_pending_fork): Also remove threads of
> 	threads that have TARGET_WAITKIND_THREAD_EXITED events.
> 	(remote_parse_stop_reply): Handle "create" magic register.  Handle
> 	'w' stop reply.
> 	(initialize_remote): Install remote_thread_events as
> 	to_thread_events target hook.
> 	(remote_thread_events): New function.
> 	* target-delegates.c: Regenerate.
> 	* target.c (target_thread_events): New function.
> 	* target.h (struct target_ops) <to_thread_events>: New field.
> 	(target_thread_events): Declare.
> 	* target/waitstatus.c (target_waitstatus_to_string): Handle
> 	TARGET_WAITKIND_THREAD_CREATED and TARGET_WAITKIND_THREAD_EXITED.
> 	* target/waitstatus.h (enum target_waitkind)
> 	<TARGET_WAITKIND_THREAD_CREATED, TARGET_WAITKIND_THREAD_EXITED):
> 	New values.

OK for the documentation parts, thanks.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]