X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Flttv%2Fsync%2Fevent_matching_broadcast.c;h=3db88e582251be8323ad830888ac08bdb98b71b0;hb=2bd4b3e43e525da7b4c9738915ec847f7fe4906a;hp=9eb6e10861ef5ada8f5e6dcfd03a4a00c220230c;hpb=cdce23b31002139312fbf30f7afa0808a825d841;p=lttv.git diff --git a/lttv/lttv/sync/event_matching_broadcast.c b/lttv/lttv/sync/event_matching_broadcast.c index 9eb6e108..3db88e58 100644 --- a/lttv/lttv/sync/event_matching_broadcast.c +++ b/lttv/lttv/sync/event_matching_broadcast.c @@ -26,7 +26,7 @@ #include #include "event_analysis.h" -#include "sync_chain_lttv.h" +#include "sync_chain.h" #include "event_matching_broadcast.h" @@ -215,6 +215,11 @@ static void matchEventBroadcast(SyncState* const syncState, Event* const event) g_queue_push_tail(broadcast->events, event); if (broadcast->events->length == syncState->traceNb) { + if (matchingData->stats) + { + matchingData->stats->totComplete++; + } + g_hash_table_steal(matchingData->pendingBroadcasts, datagramKey); free(datagramKey); syncState->analysisModule->analyzeBroadcast(syncState, broadcast); @@ -226,6 +231,12 @@ static void matchEventBroadcast(SyncState* const syncState, Event* const event) broadcast= malloc(sizeof(Broadcast)); broadcast->events= g_queue_new(); g_queue_push_tail(broadcast->events, event); + + datagramKey= malloc(sizeof(DatagramKey)); + *datagramKey= *event->event.udpEvent->datagramKey; + + g_hash_table_insert(matchingData->pendingBroadcasts, + datagramKey, broadcast); } } else @@ -288,7 +299,6 @@ static void printMatchingStatsBroadcast(SyncState* const syncState) { return; } - matchingData= (MatchingDataBroadcast*) syncState->matchingData; printf("Broadcast matching stats:\n");