Project

General

Profile

Bug #307 ยป 0001-Fix-threads-should-be-created-in-DETACHED-state.patch

Michael Greene, 07/16/2012 04:38 PM

View differences:

liblttng-ust/lttng-ust-comm.c
{
struct timespec constructor_timeout;
sigset_t sig_all_blocked, orig_parent_mask;
pthread_attr_t thread_attr;
int timeout_mode;
int ret;
......
ERR("pthread_sigmask: %s", strerror(ret));
}
ret = pthread_create(&global_apps.ust_listener, NULL,
ret = pthread_attr_init(&thread_attr);
if (ret) {
ERR("pthread_attr_init: %s", strerror(ret));
}
ret = pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED);
if (ret) {
ERR("pthread_attr_setdetachstate: %s", strerror(ret));
}
ret = pthread_create(&global_apps.ust_listener, &thread_attr,
ust_listener_thread, &global_apps);
if (ret) {
ERR("pthread_create global: %s", strerror(ret));
}
if (local_apps.allowed) {
ret = pthread_create(&local_apps.ust_listener, NULL,
ret = pthread_create(&local_apps.ust_listener, &thread_attr,
ust_listener_thread, &local_apps);
if (ret) {
ERR("pthread_create local: %s", strerror(ret));
......
} else {
handle_register_done(&local_apps);
}
ret = pthread_attr_destroy(&thread_attr);
if (ret) {
ERR("pthread_attr_destroy: %s", strerror(ret));
}
/* Restore original signal mask in parent */
ret = pthread_sigmask(SIG_SETMASK, &orig_parent_mask, NULL);
    (1-1/1)