9 static int iterations = 1;
11 static queue_t *queue;
13 static void parse_args(int argc, char **argv)
18 while ((c = getopt(argc, argv, "i:p:")) != EOF) {
21 iterations = atoi(optarg);
32 static void main_task(void *param)
36 int pid = *((int *)param);
39 for (i = 0; i < iterations; i++) {
40 val = 1 + pid * iterations + i;
47 int user_main(int argc, char **argv)
53 parse_args(argc, argv);
54 iterations = (iterations + (procs >> 1)) / procs;
56 queue = calloc(1, sizeof(*queue));
60 t = malloc(num_threads * sizeof(thrd_t));
61 param = malloc(num_threads * sizeof(*param));
64 for (i = 0; i < num_threads; i++) {
66 thrd_create(&t[i], main_task, ¶m[i]);
68 for (i = 0; i < num_threads; i++)