Можно ли вызывать pthread_exit из main?

Когда я звонюpthread_exit отmainпрограмма никогда не завершается. Я ожидал, что программа завершится, поскольку я выходил из единственного потока программы, но это не работает. Кажется, повесили.

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

int main(int argc, char *argv[])
{
    printf("-one-\n");

    pthread_exit(NULL);

    printf("-two-\n");
}

Process Explorer показывает, что (единственный) поток находится вWait:DelayExecution государство.

В соответствии сpthread_exit документация:

Процесс должен завершиться со статусом выхода 0 после завершения последнего потока. Поведение должно быть таким, как если бы реализация вызывала exit () с нулевым аргументом во время завершения потока.

я используюDev-C ++ v4.9.9.2 а такжеpthreads-win32 v2.8.0.0 (ссылка противlibpthreadGC2.a).

Библиотека, кажется, в порядке (например, вызовpthread_self или жеpthread_create отmain работает отлично).

Есть ли причина для того, что я не должен называтьpthread_exit отmain?

Ответы на вопрос(4)

Ваш ответ на вопрос