fix check version
[lttv.git] / ltt / branches / poly / lttv / modules / gui / controlflow / drawing.c
index 94f810899a61c0c34b987b8efa0925df6455f004..43b15af751357fcfb7c60be7ccc7280e36f1ba36 100644 (file)
@@ -72,7 +72,8 @@ GdkColor drawing_colors[NUM_COLORS] =
   { 0, 0x0000, 0xFF00, 0x0000 }, /* COL_RUN_USER_MODE : green */
   { 0, 0x0100, 0x9E00, 0xFFFF }, /* COL_RUN_SYSCALL : pale blue */
   { 0, 0xFF00, 0xFF00, 0x0100 }, /* COL_RUN_TRAP : yellow */
-  { 0, 0xFFFF, 0x5E00, 0x0000 }, /* COL_RUN_IRQ : red */
+  { 0, 0xFFFF, 0x5E00, 0x0000 }, /* COL_RUN_IRQ : orange */
+  { 0, 0xFFFF, 0x9400, 0x9600 }, /* COL_RUN_SOFT_IRQ : pink */
   { 0, 0x6600, 0x0000, 0x0000 }, /* COL_WAIT : dark red */
   { 0, 0x7700, 0x7700, 0x0000 }, /* COL_WAIT_CPU : dark yellow */
   { 0, 0x6400, 0x0000, 0x5D00 }, /* COL_ZOMBIE : dark purple */
@@ -219,12 +220,12 @@ void drawing_data_request(Drawing_t *drawing,
          associated by id hooks. */
 
       hooks = g_array_new(FALSE, FALSE, sizeof(LttvTraceHook));
-      hooks = g_array_set_size(hooks, 13);
+      hooks = g_array_set_size(hooks, 16);
 
       /* before hooks */
       
       ret = lttv_trace_find_hook(ts->parent.t,
-          LTT_FACILITY_KERNEL, LTT_EVENT_SYSCALL_ENTRY,
+          LTT_FACILITY_KERNEL_ARCH, LTT_EVENT_SYSCALL_ENTRY,
           LTT_FIELD_SYSCALL_ID, 0, 0,
           before_execmode_hook,
           events_request,
@@ -232,7 +233,7 @@ void drawing_data_request(Drawing_t *drawing,
       g_assert(!ret);
 
       ret = lttv_trace_find_hook(ts->parent.t,
-          LTT_FACILITY_KERNEL, LTT_EVENT_SYSCALL_EXIT,
+          LTT_FACILITY_KERNEL_ARCH, LTT_EVENT_SYSCALL_EXIT,
           0, 0, 0,
           before_execmode_hook,
           events_request,
@@ -271,12 +272,29 @@ void drawing_data_request(Drawing_t *drawing,
           &g_array_index(hooks, LttvTraceHook, 5));
       g_assert(!ret);
 
+      ret = lttv_trace_find_hook(ts->parent.t,
+          LTT_FACILITY_KERNEL, LTT_EVENT_SOFT_IRQ_ENTRY,
+          LTT_FIELD_SOFT_IRQ_ID, 0, 0,
+          before_execmode_hook,
+          events_request,
+          &g_array_index(hooks, LttvTraceHook, 6));
+      g_assert(!ret);
+
+      ret = lttv_trace_find_hook(ts->parent.t,
+          LTT_FACILITY_KERNEL, LTT_EVENT_SOFT_IRQ_EXIT,
+          0, 0, 0, 
+          before_execmode_hook,
+          events_request,
+          &g_array_index(hooks, LttvTraceHook, 7));
+      g_assert(!ret);
+
+
       ret = lttv_trace_find_hook(ts->parent.t,
           LTT_FACILITY_PROCESS, LTT_EVENT_SCHEDCHANGE,
           LTT_FIELD_OUT, LTT_FIELD_IN, LTT_FIELD_OUT_STATE,
           before_schedchange_hook,
           events_request,
-          &g_array_index(hooks, LttvTraceHook, 6));
+          &g_array_index(hooks, LttvTraceHook, 8));
       g_assert(!ret);
 
       ret = lttv_trace_find_hook(ts->parent.t,
@@ -284,7 +302,7 @@ void drawing_data_request(Drawing_t *drawing,
           LTT_FIELD_PID, 0, 0,
           before_process_exit_hook,
           events_request,
-          &g_array_index(hooks, LttvTraceHook, 7));
+          &g_array_index(hooks, LttvTraceHook, 9));
       g_assert(!ret);
       
       ret = lttv_trace_find_hook(ts->parent.t,
@@ -292,7 +310,7 @@ void drawing_data_request(Drawing_t *drawing,
           LTT_FIELD_PID, 0, 0,
           before_process_release_hook,
           events_request,
-          &g_array_index(hooks, LttvTraceHook, 8));
+          &g_array_index(hooks, LttvTraceHook, 10));
       g_assert(!ret);
 
 
@@ -350,7 +368,7 @@ void drawing_data_request(Drawing_t *drawing,
           LTT_FIELD_OUT, LTT_FIELD_IN, LTT_FIELD_OUT_STATE,
           after_schedchange_hook,
           events_request,
-          &g_array_index(hooks, LttvTraceHook, 9));
+          &g_array_index(hooks, LttvTraceHook, 11));
       g_assert(!ret);
 
       ret = lttv_trace_find_hook(ts->parent.t,
@@ -358,7 +376,7 @@ void drawing_data_request(Drawing_t *drawing,
           LTT_FIELD_PARENT_PID, LTT_FIELD_CHILD_PID, 0,
           after_process_fork_hook,
           events_request,
-          &g_array_index(hooks, LttvTraceHook, 10));
+          &g_array_index(hooks, LttvTraceHook, 12));
       g_assert(!ret);
 
       ret = lttv_trace_find_hook(ts->parent.t,
@@ -366,7 +384,7 @@ void drawing_data_request(Drawing_t *drawing,
           LTT_FIELD_PID, 0, 0,
           after_process_exit_hook,
           events_request,
-          &g_array_index(hooks, LttvTraceHook, 11));
+          &g_array_index(hooks, LttvTraceHook, 13));
       g_assert(!ret);
 
       ret = lttv_trace_find_hook(ts->parent.t,
@@ -374,7 +392,15 @@ void drawing_data_request(Drawing_t *drawing,
           0, 0, 0,
           after_fs_exec_hook,
           events_request,
-          &g_array_index(hooks, LttvTraceHook, 12));
+          &g_array_index(hooks, LttvTraceHook, 14));
+      g_assert(!ret);
+
+      ret = lttv_trace_find_hook(ts->parent.t,
+          LTT_FACILITY_STATEDUMP, LTT_EVENT_ENUM_PROCESS_STATE,
+          LTT_FIELD_PID, LTT_FIELD_PARENT_PID, LTT_FIELD_NAME,
+          after_event_enum_process_hook,
+          events_request,
+          &g_array_index(hooks, LttvTraceHook, 15));
       g_assert(!ret);
 
 
@@ -391,7 +417,7 @@ void drawing_data_request(Drawing_t *drawing,
       
       /* Add these hooks to each event_by_id hooks list */
       /* add before */
-      for(k = 0 ; k < 9 ; k++) {
+      for(k = 0 ; k < 11 ; k++) {
         hook = &g_array_index(hooks, LttvTraceHook, k);
         for(l=0;l<hook->fac_list->len;l++) {
           thf = g_array_index(hook->fac_list, LttvTraceHookByFacility*, l);
@@ -403,7 +429,7 @@ void drawing_data_request(Drawing_t *drawing,
       }
 
       /* add after */
-      for(k = 9 ; k < 13 ; k++) {
+      for(k = 11 ; k < 16 ; k++) {
         hook = &g_array_index(hooks, LttvTraceHook, k);
         for(l=0;l<hook->fac_list->len;l++) {
           thf = g_array_index(hook->fac_list, LttvTraceHookByFacility*, l);
@@ -1004,6 +1030,7 @@ Drawing_t *drawing_construct(ControlFlowData *control_flow_data)
         G_CALLBACK (button_press_event),
         (gpointer)drawing);
   
+
   gtk_widget_show(drawing->ruler);
   gtk_widget_show(drawing->padding);
   gtk_widget_show(drawing->ruler_hbox);
@@ -1083,7 +1110,7 @@ void drawing_destroy(Drawing_t *drawing)
   if(drawing->gc != NULL)
     gdk_gc_unref(drawing->gc);
   
-  g_free(drawing->pango_layout);
+  g_object_unref(drawing->pango_layout);
   if(drawing->dotted_gc != NULL) gdk_gc_unref(drawing->dotted_gc);
   if(drawing->ruler_gc_butt != NULL) gdk_gc_unref(drawing->ruler_gc_butt);
   if(drawing->ruler_gc_round != NULL) gdk_gc_unref(drawing->ruler_gc_round);
This page took 0.052704 seconds and 4 git commands to generate.