On 07/12/2011 02:57 PM, Jan Kiszka wrote:
>                       xnlock_put_irqrestore(&nklock, s);
>                       xnpod_schedule();
>               }
> @@ -1036,6 +1043,7 @@ redo:
>        * to process this signal anyway.
>        */
>       if (rthal_current_domain == rthal_root_domain) {
> +             XENO_BUGON(NUCLEUS, xnthread_test_info(thread, XNATOMIC));

Misleading dead code again, XNATOMIC is cleared not ten lines above.

>               if (XENO_DEBUG(NUCLEUS) && (!signal_pending(this_task)
>                   || this_task->state != TASK_RUNNING))
>                       xnpod_fatal
> @@ -1044,6 +1052,8 @@ redo:
>               return -ERESTARTSYS;
>       }
>  
> +     xnthread_clear_info(thread, XNATOMIC);

Why this? I find the xnthread_clear_info(XNATOMIC) right at the right
place at the point it currently is.

> +
>       /* "current" is now running into the Xenomai domain. */
>       thread->gksched = NULL;
>       sched = xnsched_finish_unlocked_switch(thread->sched);
> @@ -2650,6 +2660,8 @@ static inline void do_sigwake_event(struct task_struct 
> *p)
>  
>       xnlock_get_irqsave(&nklock, s);
>  
> +     xnthread_clear_info(thread, XNATOMIC);
> +

Ditto.

-- 
                                                                Gilles.

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to