aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/odp_schedule_basic.c
diff options
context:
space:
mode:
Diffstat (limited to 'platform/linux-generic/odp_schedule_basic.c')
-rw-r--r--platform/linux-generic/odp_schedule_basic.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/platform/linux-generic/odp_schedule_basic.c b/platform/linux-generic/odp_schedule_basic.c
index cf566eb88..48f232e6b 100644
--- a/platform/linux-generic/odp_schedule_basic.c
+++ b/platform/linux-generic/odp_schedule_basic.c
@@ -1181,7 +1181,7 @@ static inline int do_schedule(odp_queue_t *out_queue, odp_event_t out_ev[],
static inline int schedule_run(odp_queue_t *out_queue, odp_event_t out_ev[],
unsigned int max_num)
{
- timer_run();
+ timer_run(1);
return do_schedule(out_queue, out_ev, max_num);
}
@@ -1194,10 +1194,13 @@ static inline int schedule_loop(odp_queue_t *out_queue, uint64_t wait,
int ret;
while (1) {
- ret = schedule_run(out_queue, out_ev, max_num);
- if (ret)
+ ret = do_schedule(out_queue, out_ev, max_num);
+ if (ret) {
+ timer_run(2);
break;
+ }
+ timer_run(1);
if (wait == ODP_SCHED_WAIT)
continue;