diff options
Diffstat (limited to 'src/debug/stream.c')
-rw-r--r-- | src/debug/stream.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/debug/stream.c b/src/debug/stream.c index 4c4767a..5d91aa8 100644 --- a/src/debug/stream.c +++ b/src/debug/stream.c @@ -2,7 +2,7 @@ /* OpenIDA - Outil d'analyse de fichiers binaires * stream.c - gestion des connexions aux serveurs de débogage. * - * Copyright (C) 2010 Cyrille Bagard + * Copyright (C) 2010-2012 Cyrille Bagard * * This file is part of OpenIDA. * @@ -210,6 +210,8 @@ GDebugPacket *g_debug_stream_get_free_packet(GDebugStream *stream) void g_debug_stream_mark_packet_as_free(GDebugStream *stream, GDebugPacket *packet) { + stream->free_packet(stream, packet); + g_mutex_lock(stream->free_mutex); g_debug_packet_push(&stream->free_packets, packet); @@ -272,7 +274,10 @@ GDebugPacket *g_debug_stream_recv_packet(GDebugStream *stream, filter_packet_fc result = g_debug_packet_get_next_iter(stream->recv_packets, result)) { if (filter(result, data)) + { + g_debug_packet_extract(&stream->recv_packets, result); break; + } } if (result == NULL) |