move async_client_callback and async_client_context into remote_state
authorTom Tromey <tromey@redhat.com>
Wed, 14 Aug 2013 18:16:30 +0000 (18:16 +0000)
committerTom Tromey <tromey@redhat.com>
Wed, 14 Aug 2013 18:16:30 +0000 (18:16 +0000)
This moves async_client_callback and async_client_context into
remote_state.

* remote.c (struct remote_state) <async_client_callback,
async_client_context>: New fields.
(async_client_callback, async_client_context): Remove.
(remote_async_serial_handler, remote_async): Update.

gdb/ChangeLog
gdb/remote.c

index 08800de8c1981d48f5d98c621008d8d8e18b13e2..522d86c8658604118982955fdca241f9edf8898a 100644 (file)
@@ -1,3 +1,10 @@
+2013-08-14  Tom Tromey  <tromey@redhat.com>
+
+       * remote.c (struct remote_state) <async_client_callback,
+       async_client_context>: New fields.
+       (async_client_callback, async_client_context): Remove.
+       (remote_async_serial_handler, remote_async): Update.
+
 2013-08-14  Tom Tromey  <tromey@redhat.com>
 
        * remote.c (sizeof_pkt): Remove.
index 0fa5fcdbc7d9fd41f1ace06082fdca1d4e3f400f..469d8a49c52bcbd4fd90e527f59da29f452f8e75 100644 (file)
@@ -401,6 +401,10 @@ struct remote_state
      and set to false when the target fails to recognize it).  */
   int use_threadinfo_query;
   int use_threadextra_query;
+
+  void (*async_client_callback) (enum inferior_event_type event_type,
+                                void *context);
+  void *async_client_context;
 };
 
 /* Private data that we'll store in (struct thread_info)->private.  */
@@ -11635,17 +11639,16 @@ remote_is_async_p (void)
    will be able to delay notifying the client of an event until the
    point where an entire packet has been received.  */
 
-static void (*async_client_callback) (enum inferior_event_type event_type,
-                                     void *context);
-static void *async_client_context;
 static serial_event_ftype remote_async_serial_handler;
 
 static void
 remote_async_serial_handler (struct serial *scb, void *context)
 {
+  struct remote_state *rs = context;
+
   /* Don't propogate error information up to the client.  Instead let
      the client find out about the error by querying the target.  */
-  async_client_callback (INF_REG_EVENT, async_client_context);
+  rs->async_client_callback (INF_REG_EVENT, rs->async_client_context);
 }
 
 static void
@@ -11662,9 +11665,9 @@ remote_async (void (*callback) (enum inferior_event_type event_type,
 
   if (callback != NULL)
     {
-      serial_async (rs->remote_desc, remote_async_serial_handler, NULL);
-      async_client_callback = callback;
-      async_client_context = context;
+      serial_async (rs->remote_desc, remote_async_serial_handler, rs);
+      rs->async_client_callback = callback;
+      rs->async_client_context = context;
     }
   else
     serial_async (rs->remote_desc, NULL, NULL);
This page took 0.034478 seconds and 4 git commands to generate.