compute scheduler thread timeout properly

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Kevin P. Fleming 2006-03-23 23:57:18 +00:00
parent 39464dfe09
commit c26786fd81
1 changed files with 4 additions and 1 deletions

View File

@ -8264,13 +8264,16 @@ static void *sched_thread(void *ignore)
{
int count;
int res;
struct timeval tv;
struct timespec ts;
for (;;) {
res = ast_sched_wait(sched);
if ((res > 1000) || (res < 0))
res = 1000;
ts.tv_sec = res;
tv = ast_tvadd(ast_tvnow(), ast_samp2tv(res, 1000));
ts.tv_sec = tv.tv_sec;
ts.tv_nsec = tv.tv_usec * 1000;
ast_mutex_lock(&sched_lock);
ast_cond_timedwait(&sched_cond, &sched_lock, &ts);