int main(void) { int ret = 0, nc; int c; int key = 0; int part = PARTITIONED; // PARTITIONED, GLOBAL int sched = SCHED_FIFO; get_data(); init(); ret = select_prot(); if (ret == -1) { allegro_exit(); return 0; } print_grid(ret); ptask_init(sched, part, ret); t_start = ptask_gettime(MILLI); set_sem_sezC(ret); nc = ptask_getnumcores(); textprintf_ex(screen, font, 480, 10, 7, BGC, "(NumCores = %d)", nc); int gen_id = ptask_create_prio(gen, 100, 30, NOW); if (gen_id < 0) { printf("Could not create task gen\n"); exit(-1); } while (key != KEY_ESC) { if (keypressed()) { c = readkey(); key = c >> 8; } } pmux_destroy(&mx_sezNorm); pmux_destroy(&mx_sezA); pmux_destroy(&mx_sezB); allegro_exit(); return 0; }
int main(void) { int lev1, lev2; int c, key = 0; long x = 0; long t; get_data(); init(SCHED_FIFO, PCP); lev1 = LEV0 - 2; lev2 = LEV0 - 2 - DEX; int gen_id = ptask_create(gen, 100, 30, NOW); if (gen_id < 0) { printf("Could not create task gen\n"); exit(-1); } while (key != KEY_ESC) { if (keypressed()) { c = readkey(); key = c >> 8; } if (x < 640L) { t = ptask_gettime(MILLI); x = OFFSET + t/scale; pthread_mutex_lock(&mxa); line(screen, x, lev1, x, lev2, MAINCOL); pthread_mutex_unlock(&mxa); } } pmux_destroy(&mxa); pmux_destroy(&muxA); pmux_destroy(&muxB); allegro_exit(); return 0; }