This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: GDB: error detected on stdin
- From: Andreas Schwab <schwab at redhat dot com>
- To: Vikash Jain <vikashjin at gmail dot com>
- Cc: gdb at sourceware dot org, gdb-patches at sourceware dot org
- Date: Tue, 24 May 2011 16:31:42 +0200
- Subject: Re: GDB: error detected on stdin
- References: <BANLkTi=dK2wZ8nN86QvWpePEk0DEgLQ2jA@mail.gmail.com>
Vikash Jain <vikashjin@gmail.com> writes:
> I'm trying to pipe commands to gdb but I get the following messages.
> Will it cause any problems? How do i resolve the same?
2011-05-24 Andreas Schwab <schwab@redhat.com>
* event-loop.c (handle_file_event): Don't handle POLLHUP as error.
--- event-loop.c.~1.49.~ 2011-03-22 11:59:52.000000000 +0100
+++ event-loop.c 2011-05-24 16:27:28.614311098 +0200
@@ -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;
Andreas.
--
Andreas Schwab, schwab@redhat.com
GPG Key fingerprint = D4E8 DBE3 3813 BB5D FA84 5EC7 45C6 250E 6F00 984E
"And now for something completely different."