pthread запускает цикл обработки событий никогда не продолжает выполнение - PullRequest
0 голосов
/ 24 ноября 2011

Я пытаюсь запустить цикл обработки событий из pthread, но столкнулся с проблемой, которую я не могу исправить в Google.По сути, это выглядит так:

event_thread = pthread_create(&event_thread, NULL, 
  (void *) g_main_loop_run, (void *) event_loop);

printf("GOT HERE\n");

Сообщение ниже pthread_create никогда не печатается, есть ли способ «запустить и забыть» поток?

1 Ответ

0 голосов
/ 24 ноября 2011

Ну, я понял это, как только я опубликовал это, вот что я в итоге сделал:

pthread_attr_t attr;
...
pthread_attr_init(&thread_attr);
pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED);
event_thread = pthread_create(&event_thread, &thread_attr, 
    (void *) g_main_loop_run, (void *) event_loop);

Вам просто нужно установить состояние потоков на "отсоединено".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...