about summary refs log tree commit diff
path: root/nptl/tst-getpid3.c
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/tst-getpid3.c')
-rw-r--r--nptl/tst-getpid3.c114
1 files changed, 0 insertions, 114 deletions
diff --git a/nptl/tst-getpid3.c b/nptl/tst-getpid3.c
deleted file mode 100644
index f1e77f6b10..0000000000
--- a/nptl/tst-getpid3.c
+++ /dev/null
@@ -1,114 +0,0 @@
-#include <errno.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <sys/wait.h>
-
-
-static pid_t pid;
-
-static void *
-pid_thread (void *arg)
-{
-  if (pid != getpid ())
-    {
-      printf ("pid wrong in thread: should be %d, is %d\n",
-	      (int) pid, (int) getpid ());
-      return (void *) 1L;
-    }
-
-  return NULL;
-}
-
-static int
-do_test (void)
-{
-  pid = getpid ();
-
-  pthread_t thr;
-  int ret = pthread_create (&thr, NULL, pid_thread, NULL);
-  if (ret)
-    {
-      printf ("pthread_create failed: %d\n", ret);
-      return 1;
-    }
-
-  void *thr_ret;
-  ret = pthread_join (thr, &thr_ret);
-  if (ret)
-    {
-      printf ("pthread_create failed: %d\n", ret);
-      return 1;
-    }
-  else if (thr_ret)
-    {
-      printf ("thread getpid failed\n");
-      return 1;
-    }
-
-  pid_t child = fork ();
-  if (child == -1)
-    {
-      printf ("fork failed: %m\n");
-      return 1;
-    }
-  else if (child == 0)
-    {
-      if (pid == getpid ())
-	{
-	  puts ("pid did not change after fork");
-	  exit (1);
-	}
-
-      pid = getpid ();
-      ret = pthread_create (&thr, NULL, pid_thread, NULL);
-      if (ret)
-	{
-	  printf ("pthread_create failed: %d\n", ret);
-	  return 1;
-	}
-
-      ret = pthread_join (thr, &thr_ret);
-      if (ret)
-	{
-	  printf ("pthread_create failed: %d\n", ret);
-	  return 1;
-	}
-      else if (thr_ret)
-	{
-	  printf ("thread getpid failed\n");
-	  return 1;
-	}
-
-      return 0;
-    }
-
-  int status;
-  if (TEMP_FAILURE_RETRY (waitpid (child, &status, 0)) != child)
-    {
-      puts ("waitpid failed");
-      kill (child, SIGKILL);
-      return 1;
-    }
-
-  if (!WIFEXITED (status))
-    {
-      if (WIFSIGNALED (status))
-	printf ("died from signal %s\n", strsignal (WTERMSIG (status)));
-      else
-	puts ("did not terminate correctly");
-      return 1;
-    }
-  if (WEXITSTATUS (status) != 0)
-    {
-      printf ("exit code %d\n", WEXITSTATUS (status));
-      return 1;
-    }
-
-  return 0;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"