aboutsummaryrefslogtreecommitdiff
path: root/gdb/remote-notif.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/remote-notif.c')
-rw-r--r--gdb/remote-notif.c27
1 files changed, 9 insertions, 18 deletions
diff --git a/gdb/remote-notif.c b/gdb/remote-notif.c
index eece947..2680618 100644
--- a/gdb/remote-notif.c
+++ b/gdb/remote-notif.c
@@ -85,8 +85,6 @@ remote_notif_parse (remote_target *remote,
return event.release ();
}
-DEFINE_QUEUE_P (notif_client_p);
-
/* Process notifications in STATE's notification queue one by one.
EXCEPT is not expected in the queue. */
@@ -94,10 +92,10 @@ void
remote_notif_process (struct remote_notif_state *state,
struct notif_client *except)
{
- while (!QUEUE_is_empty (notif_client_p, state->notif_queue))
+ while (!state->notif_queue.empty ())
{
- struct notif_client *nc = QUEUE_deque (notif_client_p,
- state->notif_queue);
+ struct notif_client *nc = state->notif_queue.front ();
+ state->notif_queue.pop_front ();
gdb_assert (nc != except);
@@ -158,7 +156,7 @@ handle_notification (struct remote_notif_state *state, const char *buf)
/* Notify the event loop there's a stop reply to acknowledge
and that there may be more events to fetch. */
- QUEUE_enque (notif_client_p, state->notif_queue, nc);
+ state->notif_queue.push_back (nc);
if (target_is_non_stop_p ())
{
/* In non-stop, We mark REMOTE_ASYNC_GET_PENDING_EVENTS_TOKEN
@@ -212,12 +210,10 @@ handle_notification (struct remote_notif_state *state, const char *buf)
struct remote_notif_state *
remote_notif_state_allocate (remote_target *remote)
{
- struct remote_notif_state *notif_state = XCNEW (struct remote_notif_state);
+ struct remote_notif_state *notif_state = new struct remote_notif_state;
notif_state->remote = remote;
- notif_state->notif_queue = QUEUE_alloc (notif_client_p, NULL);
-
/* Register async_event_handler for notification. */
notif_state->get_pending_events_token
@@ -229,21 +225,16 @@ remote_notif_state_allocate (remote_target *remote)
/* Free STATE and its fields. */
-void
-remote_notif_state_xfree (struct remote_notif_state *state)
+remote_notif_state::~remote_notif_state ()
{
int i;
- QUEUE_free (notif_client_p, state->notif_queue);
-
/* Unregister async_event_handler for notification. */
- if (state->get_pending_events_token != NULL)
- delete_async_event_handler (&state->get_pending_events_token);
+ if (get_pending_events_token != NULL)
+ delete_async_event_handler (&get_pending_events_token);
for (i = 0; i < REMOTE_NOTIF_LAST; i++)
- delete state->pending_event[i];
-
- xfree (state);
+ delete pending_event[i];
}
void