diff options
Diffstat (limited to 'lib/mlibc/tests/posix/pthread_kill.c')
-rw-r--r-- | lib/mlibc/tests/posix/pthread_kill.c | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/lib/mlibc/tests/posix/pthread_kill.c b/lib/mlibc/tests/posix/pthread_kill.c deleted file mode 100644 index b740b70..0000000 --- a/lib/mlibc/tests/posix/pthread_kill.c +++ /dev/null @@ -1,46 +0,0 @@ -#include <assert.h> -#include <pthread.h> -#include <signal.h> - -_Atomic int handler_ready = 0; -_Atomic int thread_signal_ran = 0; - -static void sig_handler(int sig, siginfo_t *info, void *ctx) { - (void)sig; - (void)info; - (void)ctx; - - thread_signal_ran = 1; -} - -static void *worker(void *arg) { - (void)arg; - - struct sigaction sa; - sigemptyset(&sa.sa_mask); - sa.sa_sigaction = sig_handler; - sa.sa_flags = SA_SIGINFO; - assert(!sigaction(SIGUSR1, &sa, NULL)); - - handler_ready = 1; - - while (!thread_signal_ran) - ; - - return NULL; -} - -int main() { - pthread_t thread; - assert(!pthread_create(&thread, NULL, &worker, NULL)); - - while (!handler_ready) - ; - - assert(!pthread_kill(thread, SIGUSR1)); - assert(!pthread_join(thread, NULL)); - - assert(thread_signal_ran); - - return 0; -} |