diff --git a/main/sched.c b/main/sched.c index 848b4c2601fb4cff3718555604fc3ba3c656457b..d141e7026d99e81198b3a613a18565872eb490a5 100644 --- a/main/sched.c +++ b/main/sched.c @@ -483,7 +483,7 @@ static void schedule(struct ast_sched_context *con, struct sched *s) * given the last event *tv and the offset in milliseconds 'when', * computes the next value, */ -static int sched_settime(struct timeval *t, int when) +static void sched_settime(struct timeval *t, int when) { struct timeval now = ast_tvnow(); @@ -505,7 +505,6 @@ static int sched_settime(struct timeval *t, int when) if (ast_tvcmp(*t, now) < 0) { *t = now; } - return 0; } int ast_sched_replace_variable(int old_id, struct ast_sched_context *con, int when, ast_sched_cb callback, const void *data, int variable) @@ -536,12 +535,10 @@ int ast_sched_add_variable(struct ast_sched_context *con, int when, ast_sched_cb tmp->variable = variable; tmp->when = ast_tv(0, 0); tmp->deleted = 0; - if (sched_settime(&tmp->when, when)) { - sched_release(con, tmp); - } else { - schedule(con, tmp); - res = tmp->sched_id->id; - } + + sched_settime(&tmp->when, when); + schedule(con, tmp); + res = tmp->sched_id->id; } #ifdef DUMP_SCHEDULER /* Dump contents of the context while we have the lock so nothing gets screwed up by accident. */ @@ -787,11 +784,8 @@ int ast_sched_runq(struct ast_sched_context *con) * If they return non-zero, we should schedule them to be * run again. */ - if (sched_settime(¤t->when, current->variable? res : current->resched)) { - sched_release(con, current); - } else { - schedule(con, current); - } + sched_settime(¤t->when, current->variable ? res : current->resched); + schedule(con, current); } else { /* No longer needed, so release it */ sched_release(con, current);