1*af7fec03SAxel Dörfler /*
2*af7fec03SAxel Dörfler * Copyright 2009, Axel Dörfler, axeld@pinc-software.de.
3*af7fec03SAxel Dörfler * Distributed under the terms of the MIT License.
4*af7fec03SAxel Dörfler */
5*af7fec03SAxel Dörfler
6*af7fec03SAxel Dörfler
7*af7fec03SAxel Dörfler #include <OS.h>
8*af7fec03SAxel Dörfler
9*af7fec03SAxel Dörfler #include <stdio.h>
10*af7fec03SAxel Dörfler #include <stdlib.h>
11*af7fec03SAxel Dörfler #include <string.h>
12*af7fec03SAxel Dörfler
13*af7fec03SAxel Dörfler
14*af7fec03SAxel Dörfler static status_t
abort_thread(void *)15*af7fec03SAxel Dörfler abort_thread(void*)
16*af7fec03SAxel Dörfler {
17*af7fec03SAxel Dörfler snooze(50000);
18*af7fec03SAxel Dörfler abort();
19*af7fec03SAxel Dörfler return 0;
20*af7fec03SAxel Dörfler }
21*af7fec03SAxel Dörfler
22*af7fec03SAxel Dörfler
23*af7fec03SAxel Dörfler int
main(int argc,char ** argv)24*af7fec03SAxel Dörfler main(int argc, char** argv)
25*af7fec03SAxel Dörfler {
26*af7fec03SAxel Dörfler thread_id thread = spawn_thread(&abort_thread, "abort test",
27*af7fec03SAxel Dörfler B_NORMAL_PRIORITY, NULL);
28*af7fec03SAxel Dörfler resume_thread(thread);
29*af7fec03SAxel Dörfler
30*af7fec03SAxel Dörfler status_t status = wait_for_thread(thread, NULL);
31*af7fec03SAxel Dörfler fprintf(stderr, "abort thread aborted: %s\n", strerror(status));
32*af7fec03SAxel Dörfler
33*af7fec03SAxel Dörfler snooze(1000000LL);
34*af7fec03SAxel Dörfler fprintf(stderr, "main exiting\n");
35*af7fec03SAxel Dörfler return 0;
36*af7fec03SAxel Dörfler }
37