X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=libust%2Ftracectl.c;h=874a1b4d7e7bede3a6f1910094edebfdf3f91127;hb=cd03ff7fc37d27519d174974c8867d39da44feae;hp=2e9052386c7121131d91c0495522752c96a9b57b;hpb=fc253ce0fd26aa660b249013f4c802e54eefc0e9;p=ust.git diff --git a/libust/tracectl.c b/libust/tracectl.c index 2e90523..874a1b4 100644 --- a/libust/tracectl.c +++ b/libust/tracectl.c @@ -23,7 +23,6 @@ #include #include #include -#include #include #include #include @@ -37,8 +36,6 @@ #include "buffers.h" #include "marker-control.h" -//#define USE_CLONE - #define USTSIGNAL SIGIO #define MAX_MSG_SIZE (100) @@ -1111,32 +1108,24 @@ void *listener_main(void *p) } volatile sig_atomic_t have_listener = 0; -#ifndef USE_CLONE +/* These should only be accessed in the parent thread, + * not the listener. + */ static pthread_t listener_thread; -#endif void create_listener(void) { -#ifdef USE_CLONE - static char listener_stack[16384]; int result; -#endif if(have_listener) { WARN("not creating listener because we already had one"); return; } -#ifdef USE_CLONE - result = clone((int (*)(void *)) listener_main, listener_stack+sizeof(listener_stack)-1, CLONE_FS | CLONE_FILES | CLONE_VM | CLONE_SIGHAND | CLONE_THREAD, NULL); + result = pthread_create(&listener_thread, NULL, listener_main, NULL); if(result == -1) { - perror("clone"); - return; + PERROR("pthread_create"); } -#else - - pthread_create(&listener_thread, NULL, listener_main, NULL); -#endif have_listener = 1; }