| /** 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; |
| } |