On 07/12/2011 07:34 PM, Jan Kiszka wrote:
> On 2011-07-12 19:31, Gilles Chanteperdrix wrote:
>> 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.
> 
> Nope, I forgot to remove that line.
> 
>>
>>>             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.
> 
> Nope. Now we either clear XNATOMIC after successful migration or when
> the signal is about to be sent (ie. in the hook). That way we can test
> more reliably (TM) in the gatekeeper if the thread can be migrated.

Ok for adding the XNATOMIC test, because it improves the robustness, but
why changing the way XNATOMIC is set and clear? Chances of breaking
thing while changing code in this area are really high...

-- 
                                                                Gilles.

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

Reply via email to