fixed fork bug in modulo statement
This commit is contained in:
parent
7285921f11
commit
a01bfff67e
1
.gitignore
vendored
1
.gitignore
vendored
@ -51,4 +51,5 @@ modules.order
|
||||
Module.symvers
|
||||
Mkfile.old
|
||||
dkms.conf
|
||||
philo
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ int create_philos(t_rules *rules)
|
||||
philo = &(rules->philos[i]);
|
||||
philo->id = i + 1;
|
||||
philo->l_fork = &rules->forks[i];
|
||||
philo->r_fork = &rules->forks[i + 1 % rules->n_philos];
|
||||
philo->r_fork = &rules->forks[(i + 1) % rules->n_philos];
|
||||
philo->death = 0;
|
||||
philo->pid = 0;
|
||||
philo->rules = rules;
|
||||
|
||||
@ -7,12 +7,13 @@ int main(int argc, char *argv[])
|
||||
if (FAILURE == parse_arguments(argc, argv, &rules))
|
||||
return (printf(ERROR_USAGE), EXIT_FAILURE);
|
||||
printf("arguments parsed\n");
|
||||
if (FAILURE == create_philos(&rules))
|
||||
return (printf(ERROR_MALLOC), EXIT_FAILURE);
|
||||
printf("philos created\n");
|
||||
if (FAILURE == create_mutexes(&rules))
|
||||
return (printf(ERROR_MUTEX), EXIT_FAILURE);
|
||||
printf("mutexes created\n");
|
||||
if (FAILURE == create_philos(&rules))
|
||||
return (printf(ERROR_MALLOC), EXIT_FAILURE);
|
||||
printf("philos created\n");
|
||||
print_rules(&rules);
|
||||
rules.start_time = get_time() + START_DELAY;
|
||||
if (FAILURE == create_threads(&rules))
|
||||
return (printf(ERROR_THREADS), EXIT_FAILURE);
|
||||
|
||||
@ -23,6 +23,5 @@ int parse_arguments(int argc,char *argv[], t_rules *rules)
|
||||
rules->forks = malloc(rules->n_philos * sizeof(pthread_mutex_t));
|
||||
if (!rules->forks)
|
||||
return (FAILURE);
|
||||
print_rules(rules);
|
||||
return (SUCCESS);
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user