f8d059f9b0ab6c5dc066a719dd6b7e0f13cc1fc3
[des2015.git] / mart / ex02 / ex02a.c
1 #include <stdio.h>
2 #include <signal.h>
3 #include <unistd.h>
4 #include <sys/mman.h>
5
6 #include <native/task.h>
7 #include <native/timer.h>
8
9 #include <rtdk.h>
10
11 RT_TASK task1;
12 RT_TASK task2;
13 RT_TASK task3;
14 RT_TASK task4;
15 RT_TASK task5;
16
17 void demo(void *arg)
18 {
19 RT_TASK *curtask;
20 RT_TASK_INFO curtaskinfo;
21 curtask=rt_task_self();
22 rt_task_inquire(curtask,&curtaskinfo);
23 rt_printf("Task name: %s\n", curtaskinfo.name);
24 }
25
26 int main(int argc, char* argv[])
27 {
28 rt_print_auto_init(1);
29 mlockall(MCL_CURRENT|MCL_FUTURE);
30 rt_printf("start task\n");
31
32 rt_task_create(&task1, "t1", 0, 50, 0);
33 rt_task_create(&task2, "t2", 0, 50, 0);
34 rt_task_create(&task3, "t3", 0, 50, 0);
35 rt_task_create(&task4, "t4", 0, 50, 0);
36 rt_task_create(&task5, "t5", 0, 50, 0);
37
38 rt_task_start(&task1, &demo, 0);
39 rt_task_start(&task2, &demo, 0);
40 rt_task_start(&task3, &demo, 0);
41 rt_task_start(&task4, &demo, 0);
42 rt_task_start(&task5, &demo, 0);
43 }