38 lines
693 B
C
38 lines
693 B
C
#include "../includes/philo_header.h"
|
|
|
|
time_t ft_get_time(void)
|
|
{
|
|
time_t return_value;
|
|
struct timeval current_time;
|
|
gettimeofday(¤t_time, NULL);
|
|
return_value = (current_time.tv_sec * 1000) + (current_time.tv_usec / 1000);
|
|
return (return_value);
|
|
}
|
|
|
|
void ft_msleep(time_t interval_ms)
|
|
{
|
|
time_t end_ms = ft_get_time() + interval_ms;
|
|
time_t now_ms = ft_get_time();
|
|
|
|
while (now_ms < end_ms)
|
|
{
|
|
usleep(_SLEEP_STEP);
|
|
now_ms = ft_get_time();
|
|
}
|
|
}
|
|
|
|
long get_time(void)
|
|
{
|
|
struct timeval time;
|
|
gettimeofday(&time, NULL);
|
|
return ((long)(time.tv_sec * 1000 + time.tv_usec / 1000));
|
|
}
|
|
|
|
void my_usleep(long time)
|
|
{
|
|
long t;
|
|
t = get_time();
|
|
while (get_time() - t < time)
|
|
usleep(1);
|
|
}
|