/** Test whether DRD recognizes LinuxThreads as LinuxThreads and NPTL as * NPTL. */ #include <pthread.h> #include <semaphore.h> #include <unistd.h> static pid_t s_main_thread_pid; void* thread_func(void* arg) { if (s_main_thread_pid == getpid()) { write(STDOUT_FILENO, "NPTL or non-Linux POSIX threads implementation detected.\n", 57); } else { write(STDOUT_FILENO, "Detected LinuxThreads as POSIX threads implementation.\n", 55); } return 0; } int main(int argc, char** argv) { pthread_t threadid; s_main_thread_pid = getpid(); pthread_create(&threadid, 0, thread_func, 0); pthread_join(threadid, 0); return 0; }