Module: xenomai-forge Branch: next Commit: b0d68713102f8ecd81d1c7a4a1ef66d51ac4c99c URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=b0d68713102f8ecd81d1c7a4a1ef66d51ac4c99c
Author: Jorge Ramirez-Ortiz <j...@xenomai.org> Date: Thu May 29 12:04:55 2014 -0400 analogy/testing: continue the main loop until task destruction --- include/cobalt/kernel/rtdm/analogy/os_facilities.h | 2 ++ kernel/drivers/analogy/testing/fake.c | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/include/cobalt/kernel/rtdm/analogy/os_facilities.h b/include/cobalt/kernel/rtdm/analogy/os_facilities.h index 05db7f4..9dc649f 100644 --- a/include/cobalt/kernel/rtdm/analogy/os_facilities.h +++ b/include/cobalt/kernel/rtdm/analogy/os_facilities.h @@ -110,6 +110,8 @@ typedef rtdm_task_proc_t a4l_task_proc_t; #define a4l_task_sleep(delay) rtdm_task_sleep(delay) +#define a4l_task_should_stop() rtdm_task_should_stop() + /* --- Time section --- */ static inline void a4l_udelay(unsigned int us) diff --git a/kernel/drivers/analogy/testing/fake.c b/kernel/drivers/analogy/testing/fake.c index 4a1bb43..8d2f575 100644 --- a/kernel/drivers/analogy/testing/fake.c +++ b/kernel/drivers/analogy/testing/fake.c @@ -237,21 +237,21 @@ static void task_proc(void *arg) struct fake_priv *priv = (struct fake_priv *)dev->priv; - while (1) { + while(!a4l_task_should_stop()) { int running; running = priv->ai_running; if (running && ai_push_values(ai_subd) < 0) - break; + continue; running = priv->ao_running; if (running && ao_pull_values(ao_subd) < 0) - break; + continue; running = priv->ai2_running; if (running && ai2_push_values(ai2_subd) < 0) - break; + continue; a4l_task_sleep(TASK_PERIOD); } @@ -596,6 +596,8 @@ int test_attach(a4l_dev_t *dev, a4l_lnkdesc_t *arg) "Fake AI task", task_proc, dev, A4L_TASK_HIGHEST_PRIORITY); + if (ret) + a4l_dbg(1, drv_dbg, dev, "Error creating A4L task \n"); a4l_dbg(1, drv_dbg, dev, "AI2 subdevice registered\n"); _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git