aboutsummaryrefslogtreecommitdiff
path: root/gdb/procfs.c
diff options
context:
space:
mode:
authorPeter Schauer <Peter.Schauer@mytum.de>1995-07-29 20:56:22 +0000
committerPeter Schauer <Peter.Schauer@mytum.de>1995-07-29 20:56:22 +0000
commitb6753b3f6f85c8a9ee8cee37b392f44090bfc1cf (patch)
tree1fcb03cd36f95c82efe5dc8f6633667aff8ab757 /gdb/procfs.c
parente3c05e17583b9df8555a454f52bf55482b3debce (diff)
downloadgdb-b6753b3f6f85c8a9ee8cee37b392f44090bfc1cf.zip
gdb-b6753b3f6f85c8a9ee8cee37b392f44090bfc1cf.tar.gz
gdb-b6753b3f6f85c8a9ee8cee37b392f44090bfc1cf.tar.bz2
* procfs.c (unconditionally_kill_inferior): Clear current signal
if PROCFS_NEED_CLEAR_CURSIG_FOR_KILL is defined. * config/alpha/nm-osf3.h (PROCFS_NEED_CLEAR_CURSIG_FOR_KILL): Define.
Diffstat (limited to 'gdb/procfs.c')
-rw-r--r--gdb/procfs.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gdb/procfs.c b/gdb/procfs.c
index bf57c6b..9584bd1 100644
--- a/gdb/procfs.c
+++ b/gdb/procfs.c
@@ -1251,8 +1251,14 @@ unconditionally_kill_inferior (pi)
signo = SIGKILL;
+#ifdef PROCFS_NEED_CLEAR_CURSIG_FOR_KILL
+ /* Alpha OSF/1-3.x procfs needs a clear of the current signal
+ before the PIOCKILL, otherwise it might generate a corrupted core
+ file for the inferior. */
+ ioctl (pi->fd, PIOCSSIG, NULL);
+#endif
#ifdef PROCFS_NEED_PIOCSSIG_FOR_KILL
- /* Alpha OSF/1 procfs needs a PIOCSSIG call with a SIGKILL signal
+ /* Alpha OSF/1-2.x procfs needs a PIOCSSIG call with a SIGKILL signal
to kill the inferior, otherwise it might remain stopped with a
pending SIGKILL.
We do not check the result of the PIOCSSIG, the inferior might have