X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=mart%2Fex02%2Fex02d.c;h=040882541fb4b5ff44f98cd70c07e8e13cdc7fb0;hb=4367e5a28ec4d81771a05d9a8631995f5356d270;hp=8549055e0abb2850426c15f41c142b4aebaa989d;hpb=4beebd73bd47cd47cafdcbe5b383115a3c2eb2e7;p=des2015.git diff --git a/mart/ex02/ex02d.c b/mart/ex02/ex02d.c index 8549055..0408825 100644 --- a/mart/ex02/ex02d.c +++ b/mart/ex02/ex02d.c @@ -1,3 +1,4 @@ +#include #include #include #include @@ -8,44 +9,36 @@ #include -RT_TASK task1; -RT_TASK task2; -RT_TASK task3; -RT_TASK task4; -RT_TASK task5; +RT_TASK task1, task2, task3; void demo(void *arg) { - int num = *(int *)arg; + rt_task_set_periodic(NULL, TM_NOW, *(unsigned long long *)arg); RT_TASK *curtask; RT_TASK_INFO curtaskinfo; curtask=rt_task_self(); - rt_task_inquire(curtask,&curtaskinfo); - rt_printf("Task name: %s with num %d \n", - curtaskinfo.name, num); + rt_task_inquire(curtask, &curtaskinfo); + while(1){ + rt_printf("Task name: %s\n", curtaskinfo.name); + rt_task_wait_period(NULL); + } } int main(int argc, char* argv[]) { rt_print_auto_init(1); mlockall(MCL_CURRENT|MCL_FUTURE); - rt_printf("start task\n"); rt_task_create(&task1, "t1", 0, 50, 0); rt_task_create(&task2, "t2", 0, 50, 0); rt_task_create(&task3, "t3", 0, 50, 0); - rt_task_create(&task4, "t4", 0, 50, 0); - rt_task_create(&task5, "t5", 0, 50, 0); - int num1 = 42; - int num2 = 43; - int num3 = 44; - int num4 = 45; - int num5 = 46; + uint64_t num1 = 1000000000LLU, num2 = 2000000000LLU, num3 = 3000000000LLU; rt_task_start(&task1, &demo, (void *)&num1); rt_task_start(&task2, &demo, (void *)&num2); rt_task_start(&task3, &demo, (void *)&num3); - rt_task_start(&task4, &demo, (void *)&num4); - rt_task_start(&task5, &demo, (void *)&num5); + + rt_printf("end program with CRTL+C\n"); + pause(); }