diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-04-22 13:43:00 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-04-22 13:43:00 +0200 |
| commit | 3c2c3a07396c001f51eac8d0fd0fc84e83eb127b (patch) | |
| tree | 7c646f128d97784fba9fd76cf8bb758a9b965c76 /philo_one/fork.c | |
| parent | 2c5abe421b7a1b92081e38f6b1f04d407fcba834 (diff) | |
| download | philosophers-3c2c3a07396c001f51eac8d0fd0fc84e83eb127b.tar.gz philosophers-3c2c3a07396c001f51eac8d0fd0fc84e83eb127b.tar.bz2 philosophers-3c2c3a07396c001f51eac8d0fd0fc84e83eb127b.zip | |
philo_one refactoring without common lib
Diffstat (limited to 'philo_one/fork.c')
| -rw-r--r-- | philo_one/fork.c | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/philo_one/fork.c b/philo_one/fork.c deleted file mode 100644 index 3f91b35..0000000 --- a/philo_one/fork.c +++ /dev/null @@ -1,59 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* fork.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/09 23:46:40 by cacharle #+# #+# */ -/* Updated: 2020/02/15 01:23:25 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "philo_one.h" - -t_fork *forks_new(int num) -{ - int i; - t_fork *forks; - - if ((forks = (t_fork*)malloc(sizeof(t_fork) * num)) == NULL) - return (NULL); - i = -1; - while (++i < num) - { - if (pthread_mutex_init(&forks[i], NULL) != 0) - { - forks_destroy(forks, i + 1); - return (NULL); - } - } - return (forks); -} - -void forks_destroy(t_fork *forks, int num) -{ - while (num-- > 0) - pthread_mutex_destroy(&forks[num]); - free(forks); -} - -t_routine_arg *forks_dispatch(t_philo *philos, t_fork *forks, - t_philo_args *args) -{ - int i; - t_routine_arg *routine_args; - - if ((routine_args = (t_routine_arg*)malloc(sizeof(t_routine_arg) - * args->philo_num)) == NULL) - return (NULL); - i = -1; - while (++i < args->philo_num) - { - routine_args[i].args = args; - routine_args[i].philo = philos + i; - routine_args[i].fork_left = forks + i % args->philo_num; - routine_args[i].fork_right = forks + (i + 1) % args->philo_num; - } - return (routine_args); -} |
