Use a helper function to add milliseconds to timeval structs
This commit is contained in:
@@ -75,12 +75,7 @@ static void connectivity_cb(private_kernel_android_net_t *this,
|
|||||||
this->mutex->unlock(this->mutex);
|
this->mutex->unlock(this->mutex);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
now.tv_usec += ROAM_DELAY * 1000;
|
timeval_add_ms(&now, ROAM_DELAY);
|
||||||
while (now.tv_usec > 1000000)
|
|
||||||
{
|
|
||||||
now.tv_sec++;
|
|
||||||
now.tv_usec -= 1000000;
|
|
||||||
}
|
|
||||||
this->next_roam = now;
|
this->next_roam = now;
|
||||||
this->mutex->unlock(this->mutex);
|
this->mutex->unlock(this->mutex);
|
||||||
|
|
||||||
|
|||||||
@@ -543,12 +543,7 @@ static void queue_route_reinstall(private_kernel_netlink_net_t *this,
|
|||||||
time_monotonic(&now);
|
time_monotonic(&now);
|
||||||
if (timercmp(&now, &this->last_route_reinstall, >))
|
if (timercmp(&now, &this->last_route_reinstall, >))
|
||||||
{
|
{
|
||||||
now.tv_usec += ROUTE_DELAY * 1000;
|
timeval_add_ms(&now, ROUTE_DELAY);
|
||||||
while (now.tv_usec > 1000000)
|
|
||||||
{
|
|
||||||
now.tv_sec++;
|
|
||||||
now.tv_usec -= 1000000;
|
|
||||||
}
|
|
||||||
this->last_route_reinstall = now;
|
this->last_route_reinstall = now;
|
||||||
|
|
||||||
job = (job_t*)callback_job_create((callback_job_cb_t)reinstall_routes,
|
job = (job_t*)callback_job_create((callback_job_cb_t)reinstall_routes,
|
||||||
@@ -704,12 +699,7 @@ static void fire_roam_event(private_kernel_netlink_net_t *this, bool address)
|
|||||||
this->roam_lock->unlock(this->roam_lock);
|
this->roam_lock->unlock(this->roam_lock);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
now.tv_usec += ROAM_DELAY * 1000;
|
timeval_add_ms(&now, ROAM_DELAY);
|
||||||
while (now.tv_usec > 1000000)
|
|
||||||
{
|
|
||||||
now.tv_sec++;
|
|
||||||
now.tv_usec -= 1000000;
|
|
||||||
}
|
|
||||||
this->next_roam = now;
|
this->next_roam = now;
|
||||||
this->roam_lock->unlock(this->roam_lock);
|
this->roam_lock->unlock(this->roam_lock);
|
||||||
|
|
||||||
|
|||||||
@@ -285,12 +285,7 @@ static void fire_roam_event(private_kernel_pfroute_net_t *this, bool address)
|
|||||||
time_monotonic(&now);
|
time_monotonic(&now);
|
||||||
if (timercmp(&now, &this->last_roam, >))
|
if (timercmp(&now, &this->last_roam, >))
|
||||||
{
|
{
|
||||||
now.tv_usec += ROAM_DELAY * 1000;
|
timeval_add_ms(&now, ROAM_DELAY);
|
||||||
while (now.tv_usec > 1000000)
|
|
||||||
{
|
|
||||||
now.tv_sec++;
|
|
||||||
now.tv_usec -= 1000000;
|
|
||||||
}
|
|
||||||
this->last_roam = now;
|
this->last_roam = now;
|
||||||
|
|
||||||
job = (job_t*)callback_job_create((callback_job_cb_t)roam_event,
|
job = (job_t*)callback_job_create((callback_job_cb_t)roam_event,
|
||||||
|
|||||||
@@ -282,13 +282,7 @@ METHOD(condvar_t, timed_wait, bool,
|
|||||||
ms = timeout % 1000;
|
ms = timeout % 1000;
|
||||||
|
|
||||||
tv.tv_sec += s;
|
tv.tv_sec += s;
|
||||||
tv.tv_usec += ms * 1000;
|
timeval_add_ms(&tv, ms);
|
||||||
|
|
||||||
if (tv.tv_usec > 1000000 /* 1s */)
|
|
||||||
{
|
|
||||||
tv.tv_usec -= 1000000;
|
|
||||||
tv.tv_sec++;
|
|
||||||
}
|
|
||||||
return timed_wait_abs(this, mutex, tv);
|
return timed_wait_abs(this, mutex, tv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -433,13 +433,8 @@ METHOD(rwlock_condvar_t, timed_wait, bool,
|
|||||||
ms = timeout % 1000;
|
ms = timeout % 1000;
|
||||||
|
|
||||||
tv.tv_sec += s;
|
tv.tv_sec += s;
|
||||||
tv.tv_usec += ms * 1000;
|
timeval_add_ms(&tv, ms);
|
||||||
|
|
||||||
if (tv.tv_usec > 1000000 /* 1s */)
|
|
||||||
{
|
|
||||||
tv.tv_usec -= 1000000;
|
|
||||||
tv.tv_sec++;
|
|
||||||
}
|
|
||||||
return timed_wait_abs(this, lock, tv);
|
return timed_wait_abs(this, lock, tv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -454,6 +454,22 @@ void closefrom(int lowfd);
|
|||||||
*/
|
*/
|
||||||
time_t time_monotonic(timeval_t *tv);
|
time_t time_monotonic(timeval_t *tv);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the given number of milliseconds to the given timeval struct
|
||||||
|
*
|
||||||
|
* @param tv timeval struct to modify
|
||||||
|
* @param ms number of milliseconds
|
||||||
|
*/
|
||||||
|
static inline void timeval_add_ms(timeval_t *tv, u_int ms)
|
||||||
|
{
|
||||||
|
tv->tv_usec += ms * 1000;
|
||||||
|
while (tv->tv_usec > 1000000 /* 1s */)
|
||||||
|
{
|
||||||
|
tv->tv_usec -= 1000000;
|
||||||
|
tv->tv_sec++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* returns null
|
* returns null
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user