The same data that would be logged in the trace log is copied into the data_array.
So, for example, Thread state changes events have a PID and a TID (and in wide mode they have PRIORITY and POLICY)
so 4 words will be used.
The array must be big enough to hold the largest event that you could possibly be handling.
Otherwise your data segment will be corrupted, since there is no limit check done when copying the data.
There are no event handlers for user events, so you don’t need to worry about that.
The longest events are typically the process create name events.
(QNX 6.3 SP1)
I’m using TraceEvent(_NTO_TRACE_ADDCLASSEVHANDLER, _NTO_TRACE_THREAD, …)
and it’s not quite clear to me from the docs how event_data_t.data_array
Is data_array used only by user-defined code? Can I set it to NULL if
I don’t use it?