/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* time.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: cchauvet #include #include #include #include "./philo.h" #include "data.h" size_t get_time(void) { size_t time; static size_t start_time = 0; struct timeval tv; gettimeofday(&tv, NULL); time = tv.tv_sec * 1000000 + tv.tv_usec; if (start_time == 0) start_time = time; return ((time - start_time) / 1000); } size_t get_time_perfect(t_philo *philo, t_data *data) { size_t time; time = get_time(); if (time - philo->last_eat + data->eat_time > data->life_expectency) return ((time - philo->last_eat + data->eat_time)); else return (data->eat_time); }