Beispiel #1
0
int
main(int argc, char *argv[])
{
	struct sched_param sp;
	long iter;
	setup();

	rt_init("h", parse_args, argc, argv);

	sp.sched_priority = sched_get_priority_max(SCHED_FIFO);
	if (sp.sched_priority == -1) {
		perror("sched_get_priority_max");
		exit(-1);
	}
	if (sched_setscheduler(0, SCHED_FIFO, &sp) != 0) {
		perror("sched_setscheduler");
		exit(-1);
	}

	if (argc == 1) {
		fprintf(stderr, "Usage: %s iterations [unicast]\n", argv[0]);
		exit(-1);
	}
	iter = strtol(argv[1], NULL, 0);
	test_signal(argc == 2, iter);

	return 0;
}
Beispiel #2
0
int main(int argc, char **argv)
{
    test_file();
    test_fork();
    test_time();
    test_socket();
    //    test_clone();
    test_signal();
    test_shm();
    return 0;
}
Beispiel #3
0
int
main(int argc, char *argv[])
{
    if (0) {
	test_signal();
    }

    if (1) {
	test_mem();
    }

    return 0;
}
int main(int argc, char *argv[])
{
	struct option longopts[] = {
		{"broadcast", 0, NULL, 'a'},
		{"realtime", 0, NULL, 'r'},
		{NULL, 0, NULL, 0},
	};
	setup();

	init_pi_mutex(&child_mutex);
	rt_init_long("ahi:n:r", longopts, parse_args, argc, argv);

	/* Legacy command line arguments support, overrides getopt args. */
	if (optind < argc)
		iterations = strtol(argv[optind++], NULL, 0);
	if (optind < argc)
		nthreads = strtol(argv[optind++], NULL, 0);

	/* Ensure we have the required arguments. */
	if (iterations == 0 || nthreads == 0) {
		usage();
		exit(1);
	}

	child_waiting = (int *)malloc(sizeof(*child_waiting) * nthreads);
	condlist = (pthread_cond_t *) malloc(sizeof(*condlist) * nthreads);
	if ((child_waiting == NULL) || (condlist == NULL)) {
		fprintf(stderr, "Out of memory\n");
		exit(-1);
	}
	test_signal(iterations, nthreads);
	printf("\nCriteria: latencies < %d us\n", PASS_US);
	printf("Result: %s\n", fail ? "FAIL" : "PASS");

	return 0;
}
void test_sigint(void) { test_signal(SIGINT); }
void test_sigterm(void) { test_signal(SIGTERM); }
void test_sighup(void) { test_signal(SIGHUP); }