Как проверить, является ли текущий поток основным потоком в linux? Похоже, что gettid() возвращает только pid, но кажется, что linux не гарантирует, что поток с main() всегда имеет const и равномерный pid.Проверьте, является ли текущий поток основным потоком
Причина в том, что у меня происходит автоматическое распараллеливание, и я хочу убедиться, что pthread_create() не вызывается в функции, которая уже запущена в потоке, созданном pthread_create().
Почему бы не написать разумный код, который знает, что происходит. Можете ли вы просто помнить, что вы создали «pthread_create». Это просто логическое значение –
Вы пробовали syscall (SYS_gettid) вместо этого? Не забудьте включить sys/syscall.h – stackmate