1/** Test whether DRD recognizes LinuxThreads as LinuxThreads and NPTL as
2 *  NPTL.
3 */
4
5
6#include <pthread.h>
7#include <semaphore.h>
8#include <unistd.h>
9
10
11static pid_t s_main_thread_pid;
12
13
14void* thread_func(void* arg)
15{
16  if (s_main_thread_pid == getpid())
17  {
18    write(STDOUT_FILENO, "NPTL or non-Linux POSIX threads implementation detected.\n", 57);
19  }
20  else
21  {
22    write(STDOUT_FILENO, "Detected LinuxThreads as POSIX threads implementation.\n", 55);
23  }
24  return 0;
25}
26
27int main(int argc, char** argv)
28{
29  pthread_t threadid;
30
31  s_main_thread_pid = getpid();
32  pthread_create(&threadid, 0, thread_func, 0);
33  pthread_join(threadid, 0);
34  return 0;
35}
36