Module: xenomai-forge Branch: next Commit: 61b242085a5f5899066a8624e0e80a0fe4ca9af5 URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=61b242085a5f5899066a8624e0e80a0fe4ca9af5
Author: Philippe Gerum <r...@xenomai.org> Date: Wed Apr 23 12:39:59 2014 +0200 alchemy/task: protect cancel-unsafe section --- lib/alchemy/task.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/alchemy/task.c b/lib/alchemy/task.c index 254aa5f..ebc8987 100644 --- a/lib/alchemy/task.c +++ b/lib/alchemy/task.c @@ -906,6 +906,7 @@ int rt_task_wait_period(unsigned long *overruns_r) int rt_task_sleep_until(RTIME date) { struct timespec ts; + struct service svc; ticks_t now; if (!threadobj_current_p()) @@ -917,7 +918,9 @@ int rt_task_sleep_until(RTIME date) clockobj_get_time(&alchemy_clock, &now, NULL); if (date <= now) return -ETIMEDOUT; + CANCEL_DEFER(svc); clockobj_ticks_to_timespec(&alchemy_clock, date, &ts); + CANCEL_RESTORE(svc); } return threadobj_sleep(&ts); _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git