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:
parent
39464dfe09
commit
c26786fd81
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue