diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/procfs.c | 9 |
2 files changed, 11 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a59820d..6206f63 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +Tue Feb 1 22:13:25 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * procfs.c (wait_fd): Handle EINTR error return from PIOCWSTOP ioctl + by restarting the ioctl. + Tue Feb 1 16:16:25 1994 Jim Kingdon (kingdon@lioth.cygnus.com) * target.h (target_wait): Add comment about calling diff --git a/gdb/procfs.c b/gdb/procfs.c index 0d7aee8..86d7bb7 100644 --- a/gdb/procfs.c +++ b/gdb/procfs.c @@ -579,10 +579,13 @@ wait_fd () #else pi = current_procinfo; - if (ioctl (pi->fd, PIOCWSTOP, &pi->prstatus) < 0) + while (ioctl (pi->fd, PIOCWSTOP, &pi->prstatus) < 0) { - print_sys_errmsg (pi->pathname, errno); - error ("PIOCWSTOP failed"); + if (errno != EINTR) + { + print_sys_errmsg (pi->pathname, errno); + error ("PIOCWSTOP failed"); + } } pi->had_event = 1; #endif |