gdb/
[deliverable/binutils-gdb.git] / gdb / event-loop.c
index 01ff69e6f4f6a001efb18985863486e61b592809..b6702f868d366d501889fff40b2f7e010ecbb6e9 100644 (file)
@@ -691,7 +691,8 @@ delete_file_handler (int fd)
            {
              (new_poll_fds + j)->fd = (gdb_notifier.poll_fds + i)->fd;
              (new_poll_fds + j)->events = (gdb_notifier.poll_fds + i)->events;
-             (new_poll_fds + j)->revents = (gdb_notifier.poll_fds + i)->revents;
+             (new_poll_fds + j)->revents
+               = (gdb_notifier.poll_fds + i)->revents;
              j++;
            }
        }
@@ -758,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;
 
@@ -782,21 +782,21 @@ 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)
-                   printf_unfiltered (_("Error detected on fd %d\n"), file_ptr->fd);
-                 if (error_mask_returned & POLLNVAL)
-                   printf_unfiltered (_("Invalid or non-`poll'able fd %d\n"), file_ptr->fd);
+                 if (mask & POLLERR)
+                   printf_unfiltered (_("Error detected on fd %d\n"),
+                                      file_ptr->fd);
+                 if (mask & POLLNVAL)
+                   printf_unfiltered (_("Invalid or non-`poll'able fd %d\n"),
+                                      file_ptr->fd);
                  file_ptr->error = 1;
                }
              else
@@ -810,7 +810,8 @@ handle_file_event (event_data data)
            {
              if (file_ptr->ready_mask & GDB_EXCEPTION)
                {
-                 printf_unfiltered (_("Exception condition detected on fd %d\n"), file_ptr->fd);
+                 printf_unfiltered (_("Exception condition detected "
+                                      "on fd %d\n"), file_ptr->fd);
                  file_ptr->error = 1;
                }
              else
@@ -987,7 +988,8 @@ gdb_wait_for_event (int block)
    PROC is the function to call with CLIENT_DATA argument 
    whenever the handler is invoked.  */
 async_signal_handler *
-create_async_signal_handler (sig_handler_func * proc, gdb_client_data client_data)
+create_async_signal_handler (sig_handler_func * proc,
+                            gdb_client_data client_data)
 {
   async_signal_handler *async_handler_ptr;
 
@@ -1071,6 +1073,7 @@ delete_async_signal_handler (async_signal_handler ** async_handler_ptr)
       prev_ptr = sighandler_list.first_handler;
       while (prev_ptr && prev_ptr->next_handler != (*async_handler_ptr))
        prev_ptr = prev_ptr->next_handler;
+      gdb_assert (prev_ptr);
       prev_ptr->next_handler = (*async_handler_ptr)->next_handler;
       if (sighandler_list.last_handler == (*async_handler_ptr))
        sighandler_list.last_handler = prev_ptr;
@@ -1169,7 +1172,8 @@ delete_async_event_handler (async_event_handler **async_handler_ptr)
 
   if (async_event_handler_list.first_handler == *async_handler_ptr)
     {
-      async_event_handler_list.first_handler = (*async_handler_ptr)->next_handler;
+      async_event_handler_list.first_handler
+       = (*async_handler_ptr)->next_handler;
       if (async_event_handler_list.first_handler == NULL)
        async_event_handler_list.last_handler = NULL;
     }
@@ -1178,6 +1182,7 @@ delete_async_event_handler (async_event_handler **async_handler_ptr)
       prev_ptr = async_event_handler_list.first_handler;
       while (prev_ptr && prev_ptr->next_handler != *async_handler_ptr)
        prev_ptr = prev_ptr->next_handler;
+      gdb_assert (prev_ptr);
       prev_ptr->next_handler = (*async_handler_ptr)->next_handler;
       if (async_event_handler_list.last_handler == (*async_handler_ptr))
        async_event_handler_list.last_handler = prev_ptr;
This page took 0.024406 seconds and 4 git commands to generate.