Fix: incorrect parameters passed to vtracelog
[lttng-ust.git] / liblttng-ust / lttng-probes.c
index 862b19e7c47e3c7c5b5e262e5b1bc02edf3c090f..e328e2c0f34ddf3219ccdae1e680f659d596301e 100644 (file)
@@ -35,6 +35,7 @@
 #include "lttng-tracer-core.h"
 #include "jhash.h"
 #include "error.h"
+#include "ust-events-internal.h"
 
 /*
  * probe list is protected by ust_lock()/ust_unlock().
@@ -204,6 +205,8 @@ int lttng_probe_register(struct lttng_probe_desc *desc)
        if (lttng_session_active())
                fixup_lazy_probes();
 
+       lttng_fix_pending_event_notifiers();
+
        ust_unlock();
        return ret;
 }
@@ -385,15 +388,29 @@ int lttng_probes_get_field_list(struct lttng_ust_field_list *list)
                                        list_entry->field.type = LTTNG_UST_FIELD_STRING;
                                        break;
                                case atype_array:
-                                       if (event_field->type.u.array.elem_type.atype != atype_integer
-                                               || event_field->type.u.array.elem_type.u.basic.integer.encoding == lttng_encode_none)
+                                       if (event_field->type.u.legacy.array.elem_type.atype != atype_integer
+                                               || event_field->type.u.legacy.array.elem_type.u.basic.integer.encoding == lttng_encode_none)
+                                               list_entry->field.type = LTTNG_UST_FIELD_OTHER;
+                                       else
+                                               list_entry->field.type = LTTNG_UST_FIELD_STRING;
+                                       break;
+                               case atype_array_nestable:
+                                       if (event_field->type.u.array_nestable.elem_type->atype != atype_integer
+                                               || event_field->type.u.array_nestable.elem_type->u.integer.encoding == lttng_encode_none)
                                                list_entry->field.type = LTTNG_UST_FIELD_OTHER;
                                        else
                                                list_entry->field.type = LTTNG_UST_FIELD_STRING;
                                        break;
                                case atype_sequence:
-                                       if (event_field->type.u.sequence.elem_type.atype != atype_integer
-                                               || event_field->type.u.sequence.elem_type.u.basic.integer.encoding == lttng_encode_none)
+                                       if (event_field->type.u.legacy.sequence.elem_type.atype != atype_integer
+                                               || event_field->type.u.legacy.sequence.elem_type.u.basic.integer.encoding == lttng_encode_none)
+                                               list_entry->field.type = LTTNG_UST_FIELD_OTHER;
+                                       else
+                                               list_entry->field.type = LTTNG_UST_FIELD_STRING;
+                                       break;
+                               case atype_sequence_nestable:
+                                       if (event_field->type.u.sequence_nestable.elem_type->atype != atype_integer
+                                               || event_field->type.u.sequence_nestable.elem_type->u.integer.encoding == lttng_encode_none)
                                                list_entry->field.type = LTTNG_UST_FIELD_OTHER;
                                        else
                                                list_entry->field.type = LTTNG_UST_FIELD_STRING;
@@ -401,7 +418,8 @@ int lttng_probes_get_field_list(struct lttng_ust_field_list *list)
                                case atype_float:
                                        list_entry->field.type = LTTNG_UST_FIELD_FLOAT;
                                        break;
-                               case atype_enum:
+                               case atype_enum:        /* Fall-through */
+                               case atype_enum_nestable:
                                        list_entry->field.type = LTTNG_UST_FIELD_ENUM;
                                        break;
                                default:
This page took 0.023224 seconds and 4 git commands to generate.