Complete change of the source directory tree For the sake of clearness and awesomeness :P, this change was needed for better semantic across the code and better organization of source files. src/ --> Contains source files of the project bin/ --> Contains every binaries this git tree builds (lttng, lttng-sessiond and lttng-consumerd). lib/ --> Contains exported libraries (lttng-ctl). common/ --> Contains shared code for the entire project. (internal libraries mostly) Every internal headers are moved from include/ to src/common. The include directory only contains exported public headers now (lttng/lttng.h). The -I$(top_srcdir)/src is also added for all Makefiles. The consumerd APIs are not exported anymore. The reason is that the consumer will get completely re-engineered in the next months. It's our safety net for the APIs breakage of the coming year concerning the consumerd library. Renaming is done also on some internal libraries to follow the naming convention. The public library liblttngctl is renamed to liblttng-ctl making it linkable now with "-llttng-ctl" deprecating the old "-llttngctl". No code is changed with this commit except #include statements added/removed/renamed. This is why there is yet files and internal API calls that does not follow the naming convention (Ex: lttngerr.h, lttng-share.h in src/common). Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix trace UST destroy channel The trace_ust_destroy_channel call was iterating over the internal events hash table and destroying the complete hash table at each event which makes no sense at all. This caused a major segfault in the hash table data structure when destroying a session. Reported-by: Tan Dung Le Tran<tan.dung.le.tran@ericsson.com> Signed-off-by: David Goulet <dgoulet@efficios.com>
Add and support the new hash table library liblttng-ht/ is the library introduced for hash table management. This library uses the URCU ht-shrink branch (not yet upstream) making the lib completely lockless. Import git head URCU hashtables at commit: 91a75cc579698814e47877cc8927fcae1f573739 Note that urcu hash table files are copied from the urcu git ree to this git tree waiting for them to be upstream and stable. Old hash table files are removed from libcommon. Signed-off-by: David Goulet <dgoulet@efficios.com>
Multiple fixes for enable/disable UST support Makes the enable/disable command inside the main.c uses the event.c functions. For this, the disable tracepoint functions (single and all) for UST are added to event.c Also fix the goto error path in event.c for disable/enable functions where the UST event was removed from the hashtable if the event already exist on the tracer side. Fix the wrong hashtable being used for events lookup in ust_app.c for enable/disable event for UST global domain. Adds the disable event per PID function call in ust_app.c At this commit, the "lttng disable-event -a -u" command segfault lttng-ust at commit 5cd29ace704432c7a421f7749ef8591e30e1894c. Signed-off-by: David Goulet <david.goulet@polymtl.ca>
UST consumer: implement missing ust-specific callbacks + fixes. Also fix consumer handling of poll fd: a mask should be used. Also fix UST stream output passed to the consumer (the fix is a hack currently, left a FIXME). Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>