Initial port of the detailed event view
[lttv.git] / lttv / lttv / tracecontext.c
index 596e06f007901418939c6289952aaa4c34164143..5f6455a42f4be31b1d8bd4db7efba9ebce502e8f 100644 (file)
 
 #include <string.h>
 #include <lttv/lttv.h>
-#include <lttv/tracecontext.h>
+#include <lttv/traceset-process.h>
 #include <ltt/event.h>
 #include <ltt/trace.h>
+#ifdef BABEL_NOFILTER
 #include <lttv/filter.h>
+#endif
 #include <errno.h>
 #include <ltt/time.h>
 #include <lttv/event.h>
@@ -36,6 +38,8 @@
 #include <babeltrace/ctf/events.h>
 #include <babeltrace/ctf/iterator.h>
 
+
+#ifdef BABEL_CLEANUP
 gint compare_tracefile(gconstpointer a, gconstpointer b)
 {
        gint comparison = 0;
@@ -71,7 +75,7 @@ struct _LttvTracesetContextPosition {
                                        * set, else, a position is set (may be end
                                        * of trace, with ep->len == 0) */
 };
-
+#endif
 void lttv_context_init(LttvTracesetContext *self, LttvTraceset *ts)
 {
        LTTV_TRACESET_CONTEXT_GET_CLASS(self)->init(self, ts);
@@ -238,7 +242,9 @@ init(LttvTracesetContext *self, LttvTraceset *ts)
 
        }
        self->sync_position = lttv_traceset_context_position_new(self);
+#ifdef BABEL_CLEANUP   
        self->pqueue = g_tree_new(compare_tracefile);
+#endif
        lttv_process_traceset_seek_time(self, ltt_time_zero);
        lttv_traceset_context_compute_time_span(self, &self->time_span);
 
@@ -687,13 +693,14 @@ guint lttv_process_traceset_middle(LttvTracesetContext *self,
        
        unsigned count = 0;
                
+        gint last_ret = 0;
        struct bt_ctf_event *bt_event;
        
        LttvEvent event;
 
        while(TRUE) {
 
-               if((count >= nb_events) && (nb_events != G_MAXULONG)) {
+               if(last_ret == TRUE || ((count >= nb_events) && (nb_events != G_MAXULONG))) {
                        break;
                }
 
@@ -706,7 +713,7 @@ guint lttv_process_traceset_middle(LttvTracesetContext *self,
                           to retrieve the right state container */
                        event.state = self->tmpState;
                        
-                       lttv_hooks_call(self->event_hooks, &event);
+                       last_ret = lttv_hooks_call(self->event_hooks, &event);
 
                        if(bt_iter_next(bt_ctf_get_iter(self->iter)) < 0) {
                                printf("ERROR NEXT\n");
This page took 0.024452 seconds and 4 git commands to generate.