From 1df2706ab53db39f01a7e4dcbecdcdd083ee924c Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 9 Jan 2026 19:08:38 +0100 Subject: add a small test for gettid() --- test/unistd/tst-gettid.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 test/unistd/tst-gettid.c (limited to 'test') diff --git a/test/unistd/tst-gettid.c b/test/unistd/tst-gettid.c new file mode 100644 index 0000000..996ae15 --- /dev/null +++ b/test/unistd/tst-gettid.c @@ -0,0 +1,39 @@ +#define _GNU_SOURCE +#include +#include +#include +#include + +void *thread_func(void *arg) +{ + printf("Thread %ld:\n", (long)arg); + printf(" PID = %d\n", getpid()); + printf(" TID = %d (gettid)\n", gettid()); + printf(" pthread ID = %lu\n\n", pthread_self()); + return NULL; +} + +int main(void) +{ + const int NUM_THREADS = 3; + pthread_t threads[NUM_THREADS]; + + printf("Main thread:\n"); + printf(" PID = %d\n", getpid()); + printf(" TID = %d (gettid)\n", gettid()); + printf(" pthread ID = %lu\n\n", pthread_self()); + + for (long i = 0; i < NUM_THREADS; i++) { + if (pthread_create(&threads[i], NULL, thread_func, (void *)i) != 0) { + perror("pthread_create"); + exit(EXIT_FAILURE); + } + } + + for (int i = 0; i < NUM_THREADS; i++) { + pthread_join(threads[i], NULL); + } + + return 0; +} + -- cgit v1.2.3