- /* Perform auto-init of rt_print buffers if the task doesn't do so */
- rt_print_auto_init(1);
-
- /* Avoids memory swapping for this program */
- mlockall(MCL_CURRENT|MCL_FUTURE);
-
- /* create the two tasks */
- rt_task_create(&t1, "task1", 0, 1, 0);
- rt_task_create(&t2, "task2", 0, 1, 0);
-
- /* start the two tasks */
- rt_task_start(&t1, &taskOne, 0);
- rt_task_start(&t2, &taskTwo, 0);
-
- return 0;
+ char str[10] ;
+ int i;
+
+ rt_print_auto_init(1);
+ mlockall(MCL_CURRENT | MCL_FUTURE);
+ rt_printf("start task\n");
+
+ rt_sem_create(&sem, "sem", 0, S_FIFO);
+
+ for (i=0; i<5; i++)
+ {
+ sprintf(str, "hello-%d", i);
+ rt_task_create(&task[i], str, 0, 50+i, 0);
+ rt_task_start(&task[i], &demo, &i);
+ }
+// rt_sem_v(&sem);
+ rt_sem_broadcast(&sem);