static void Task7(long t) { int unsent; rt_printk("\nTask7 (%p) starting\n", rt_whoami()); while (count < MAXCOUNT) { count++; unsent = rt_tbx_urgent(&bx, msg3, sizeof(msg3)); rt_printk("\nTask7=%lu, urgent sending, unsent=%d\n", count, unsent); rt_sleep(nano2count(3*DELAY + 2*SHIFT)); } rt_printk("\nTask7 suspends itself\n"); cleanup = 1; rt_task_suspend(rt_whoami()); }
static void Task7(long t) { int unsent; MSG msg; rt_printk("\nTask7 (%p) starting\n", rt_whoami()); while (count < MAXCOUNT) { count++; msg.progressive = count; msg.sending_task = 7; unsent = rt_tbx_urgent(&bx, (char*)&msg, sizeof(msg)); rt_printk("\nTask7=%lu, urgent sending, unsent=%d\n", count, unsent); rt_sleep(nano2count(3*DELAY + 2*SHIFT)); } rt_printk("\nTask7 suspends itself\n"); cleanup = 1; rt_task_suspend(rt_whoami()); }
static void *Task7(void *arg) { RT_TASK *t7; int unsent; MSG msg; t7 = rt_task_init_schmod(nam2num("T7"), BASE_PRIO + 0, 0, 0, SCHED_FIFO, 0xF); printf("\nTask7 (%p) starting\n", t7); mlockall(MCL_CURRENT | MCL_FUTURE); while (count < MAXCOUNT) { count++; msg.progressive = count; msg.sending_task = 7; unsent = rt_tbx_urgent(bx, (char*)&msg, sizeof(msg)); printf("\nTask7=%lu, urgent sending, unsent=%d\n", count, unsent); rt_sleep(nano2count(3*DELAY + 2*SHIFT)); } rt_task_delete(t7); printf("\nTask7 ends itself\n"); return 0; }