Commit Graph

22 Commits

Author SHA1 Message Date
Michael Snyder
c4365b1915 2001-05-25 Michael Snyder <msnyder@redhat.com>
* lin-lwp.c (lin_lwp_attach_lwp): Call stop_wait_callback,
	to consume the SIGSTOP generated by PTRACE_ATTACH.
	(stop_wait_callback): If a SIGTRAP or a SIGINT event is consumed,
	try again to get the SIGSTOP event.
	(lin_lwp_wait): Resume all threads when ignoring a signal.
	This will insure that newly attached threads get resumed.
2001-05-30 22:58:37 +00:00
Michael Snyder
5f885618b6 2001-05-25 Michael Snyder <msnyder@redhat.com>
* lin-lwp.c (stop_wait_callback): Discard redundant SIGINT events.
2001-05-30 18:15:45 +00:00
Kevin Buettner
b08cfdb65e Fix warnings resulting from fact that GET_LWP() now returns a long rather
than an int.
2001-05-15 00:13:47 +00:00
Kevin Buettner
ca6724c16a Redefine ptid_t to be a struct rather than an int. 2001-05-15 00:03:38 +00:00
Kevin Buettner
3d6e28e2e7 Revert a couple of small changes that inadvertently came in via the
2001-05-03 patch.
2001-05-10 01:34:17 +00:00
Kevin Buettner
01263b571c Minor ptid_t changes for the upcoming phase 3 ptid patch. 2001-05-10 01:07:39 +00:00
Kevin Buettner
ce696e0556 Consolidate save_inferior_ptid/restore_inferior_ptid implementation to
one source file.
2001-05-06 22:22:03 +00:00
Mark Kettenis
c194fbe18b Implement attach/detach for multi-threaded programs on Linux.
* thread-db.c (keep_thread_db): Adjust comment.
(deactivate_target): Removed.
(thread_db_new_objfile): Don't call deactivate_target.  Implement
guts of deactivate_target inline instead.
(attach_thread): Call ATTACH_LWP unconditionally if defined.
(thread_db_attach): New function.
(thread_db_detach): Don't call deactivate_target.  Do necessary
cleanup inline instead.  Set inferior_ptid to LWP corresponding to
the current user-level thread.
(thread_db_kill): Set inferior_ptid to LWP corresponding to the
current user-level thread.
(thread_db_create_inferior): Deactivate target vector if
KEEP_THREAD_DB is zero.
(thread_db_mourn_inferior): Don't call deactivate_target.  Do
necessary cleanup inline instead.
(init_thread_db_ops): Initialize to_attach field to
thread_db_attach.
* lin-lwp.c (lin_lwp_mourn_inferior): Remove prototype.
(stop_wait_callback): Add prototype.
(init_lwp_list): Add comment about when to re-initialize the LWP
list.
(lin_lwp_attach_lwp): Only call ptrace for cloned processes.
Avoid adding publicates to the LWP list.  Only mark an LWP as
signalled if it doesn't correspond to a cloned process.
(lin_lwp_attach): Add initial process to the LWP list.  Make sure
it's stopped and fake a SIGSTOP.
(detach_callback): New function.
(lin_lwp_detach): Implement.
(lin_lwp_create_inferior): Don't re-initialize LWP list here.
Call child_ops.to_create_inferior directly instead of via
target_beneath local.
(lin_lwp_mourn_inferior): Call child_ops.to_mourn_inferior
directly instead of via target_beneath local.
2001-05-06 17:00:44 +00:00
Kevin Buettner
39f770628a Phase 1 of the ptid_t changes. 2001-05-04 04:15:33 +00:00
Michael Snyder
9085700cc0 2001-05-01 Michael Snyder <msnyder@redhat.com>
* lin-lwp.c: Change printf to fprintf_unfiltered.
2001-05-01 20:39:51 +00:00
Michael Snyder
7ca673cdc5 2001-04-30 Michael Snyder <msnyder@redhat.com>
* thread-db.c: Revert 2001-04-26 change for debugging output.
	* lin-lwp.c: Ditto.
	* lin-lwp.c: Add set/show debug lin-lwp command.  Use this
	command to turn extra debugging output on / off.
2001-04-30 20:25:07 +00:00
Michael Snyder
540af40015 2001-04-30 Michael Snyder <msnyder@redhat.com>
* thread-db.c: Revert 2001-04-26 change for debugging output.
	* lin-lwp.c:   Ditto.
2001-04-30 18:21:17 +00:00
Michael Snyder
20b8570d73 2001-04-26 Michael Snyder <msnyder@redhat.com>
* thread-db.c (_initialize_thread_db): Add set/show command
	"debug-linux-threads" for debugging output.
	* lin-lwp.c (various): Use global "debug_linux_threads to
	turn on extra debugging output.
2001-04-26 23:14:20 +00:00
Michael Snyder
4c8de859cc 2001-04-26 Michael Snyder <msnyder@redhat.com>
* lin-lwp.c: Minor cleanups in comments.
2001-04-26 22:35:08 +00:00
David Smith
e02bc4cc30 2001-04-06 David Smith <dsmith@redhat.com>
* arch-utils.c (default_prepare_to_proceed)
	(generic_prepare_to_proceed): Added new functions.
	* arch-utils.h: New function declarations for
	default_prepare_to_proceed() and generic_prepare_to_proceed().
	* gdbarch.sh: Added PREPARE_TO_PROCEED.
	* gdbarch.c: Regenerated.
	* gdbarch.h: Regenerated.
	* inferior.h: Added get_last_target_status() declaration.
	* infrun.c (get_last_target_status): Added new function.
	(handle_inferior_event): Saves last pid and waitstatus, which will
	get returned by get_last_target_status().

	* hppa-tdep.c (prepare_to_proceed):  Added comment stating that
	prepare_to_proceed() is potentially redundant since
	default_prepare_to_proceed() has been added.
	* linux-thread.c (prepare_to_proceed): Ditto.
	* lin-lwp.c (prepare_to_proceed): Ditto.
	* m3-nat.c (prepare_to_proceed): Ditto.
2001-04-06 17:53:39 +00:00
Mark Kettenis
40564acad4 * lin-lwp.c (lin_lwp_resume): Don't mark LWP as not stopped until
we're absolutely sure we're going to resume it.
2001-03-30 19:45:19 +00:00
Andrew Cagney
4e052eda91 Create new file regcache.h. Update all uses. 2001-03-01 01:39:22 +00:00
J.T. Conklin
e5da8f389f * lin-lwp.c (lin_lwp_xfer_memory): Add attrib argument.
* thread-db.c (thread_db_xfer_memory): Likewise.
2001-01-24 00:26:46 +00:00
Kevin Buettner
b8c9b27d1e Replace free() with xfree(). 2000-12-15 01:01:51 +00:00
Mark Kettenis
e63286713f * lin-lwp.c (stop_wait_callback): Remove bogus assertions in the
code that deals with exiting/signalled threads.  Replace with
code similar to what's done in lin_lwp_wait.
2000-09-18 13:09:12 +00:00
Mark Kettenis
3f07c44bc9 * lin-lwp.c (normal_mask, blocked_mask): New variables.
(lin_lwp_wait): Block SIGCHLD here if it isn't already blocked.
(lin_lwp_mourn_inferior): Restore the origional signal mask, and
reset the mask of blocked signals.
(_initialize_lin_lwp): Don't block SIGCHLD here, but do initialize
suspend_mask and blocked_mask.  This makes us pass
gdb.base/sigall.exp for Linux/x86 now.
(lin_thread_get_thread_signals): Treat the LinuxThreads "cancel"
signal similarly to SIGCHLD in the generic code.  Avoids GDB being
terminated by a Real-time signal.
2000-09-09 07:54:20 +00:00
Mark Kettenis
fb0e1ba780 * config/i386/nm-linux.h (PREPARE_TO_PROCEED, ATTCH_LWP,
GET_THREAD_SIGNALS): New defines.
* config/i386/linux.mh (NATDEPFILES): Remove lin-thread.o and
linux-threads.o.  Add proc-service.o, thread-db.o and lin-lwp.o.
* proc-service.c: New file.
* thread-db.c: New file.
* lin-lwp.c: New file.
2000-09-03 18:41:28 +00:00