Exemplo n.º 1
0
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;
}
Exemplo n.º 2
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;
}