This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GDB: error detected on stdin


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."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]