Browse Source

PR gdb/8677

* event-loop.c (handle_file_event): Don't handle POLLHUP as error.
binutils-2_22-branch
Andreas Schwab 15 years ago
parent
commit
652c71b432
  1. 5
      gdb/ChangeLog
  2. 16
      gdb/event-loop.c

5
gdb/ChangeLog

@ -1,3 +1,8 @@
2011-05-25 Andreas Schwab <schwab@redhat.com>
PR gdb/8677
* event-loop.c (handle_file_event): Don't handle POLLHUP as error.
2011-05-24 Keith Seitz <keiths@redhat.com>
PR breakpoint/12803

16
gdb/event-loop.c

@ -759,7 +759,6 @@ handle_file_event (event_data data)
int mask;
#ifdef HAVE_POLL
int error_mask;
int error_mask_returned;
#endif
int event_file_desc = data.integer;
@ -783,22 +782,19 @@ handle_file_event (event_data data)
if (use_poll)
{
#ifdef HAVE_POLL
/* POLLHUP means EOF, but can be combined with POLLIN to
signal more data to read. */
error_mask = POLLHUP | POLLERR | POLLNVAL;
mask = (file_ptr->ready_mask & file_ptr->mask) |
(file_ptr->ready_mask & error_mask);
error_mask_returned = mask & error_mask;
mask = file_ptr->ready_mask & (file_ptr->mask | error_mask);
if (error_mask_returned != 0)
if ((mask & (POLLERR | POLLNVAL)) != 0)
{
/* Work in progress. We may need to tell somebody
what kind of error we had. */
if (error_mask_returned & POLLHUP)
printf_unfiltered (_("Hangup detected on fd %d\n"),
file_ptr->fd);
if (error_mask_returned & POLLERR)
if (mask & POLLERR)
printf_unfiltered (_("Error detected on fd %d\n"),
file_ptr->fd);
if (error_mask_returned & POLLNVAL)
if (mask & POLLNVAL)
printf_unfiltered (_("Invalid or non-`poll'able fd %d\n"),
file_ptr->fd);
file_ptr->error = 1;

Loading…
Cancel
Save