From f68d61b912f275afca7198b96dc3aceb036842f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Fri, 18 Apr 2003 09:17:29 +0000 Subject: [PATCH] Added a test for the on_exit_thread() implementation. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3072 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kernel/apps/Jamfile | 1 + src/kernel/apps/on_exit_thread.c | 43 ++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 src/kernel/apps/on_exit_thread.c diff --git a/src/kernel/apps/Jamfile b/src/kernel/apps/Jamfile index 7af96fdf6a..91aa406254 100644 --- a/src/kernel/apps/Jamfile +++ b/src/kernel/apps/Jamfile @@ -9,6 +9,7 @@ KernelObjects sig_test.c select_test.c tls_test.c + on_exit_thread.c ; SubInclude OBOS_TOP src kernel apps cpuinfo ; diff --git a/src/kernel/apps/on_exit_thread.c b/src/kernel/apps/on_exit_thread.c new file mode 100644 index 0000000000..7ea9565512 --- /dev/null +++ b/src/kernel/apps/on_exit_thread.c @@ -0,0 +1,43 @@ +#include +#include + + +static void +first(void *data) +{ + printf("first on_exit_thread(): %ld\n", (int32)data); +} + + +static void +second(void *data) +{ + printf("second on_exit_thread(): %ld\n", (int32)data); +} + + +static int32 +thread(void *data) +{ + puts("Nurse Stimpy for the rescue!"); + + on_exit_thread(first, (void *)11); + on_exit_thread(second, (void *)22); + + return 0; +} + + +int +main(int argc, char **argv) +{ + status_t status; + thread_id id; + + on_exit_thread(first, (void *)666); + id = spawn_thread(thread, "mythread", B_NORMAL_PRIORITY, (void *)42); + resume_thread(id); + + wait_for_thread(id, &status); + return 0; +}