>>>
>>> I'm afraid we need nklock around enqueue and dequeue so that we neither
>>> lose a signal nor warn needlessly.
>> 
>> I thought there might be multiple signals pile up here but actually this 
>> warn never
>> happen according to my test with smokey sigdebug test item after applying 
>> the patch.
>> 
>>>
>>>> +                          (sigwork->self == sigwork))) {
>>>
>>> What case is this part of the test excluding?
>> 
>> Because we have not initted them after xnthread is allocated, some data 
>> might not be empty I guess at the first time of using
>> according to my test . That was why I said I found duplicate signal case  in 
>> previous thread when I did not add it but actually it was not
>> multiple signals case causing return.
>> If signal can be queued , it is quite different than what we had discussed.  
>> Actually I do not know in which case multiple signals
>> would pile up here after splitting into slots. At least , I cannot reproduce 
>> multiple singles pile up issue with sigdebug test item.
>> If we consider queue to avoid losing signals for multiple signal in same 
>> slot , how can we decide the size of queue for each slot?
>> Sorry for late response, I was taking AL.
>> 
>
>No problem. Please have a look what is meanwhile in master, review it,
>stress it, and if you see issues that we missed, please speak up. It's
>not queuing, it's first-come-first-serve.

I miss initializing sigarray when we use xnthread->task to check if there is 
signal pending because there is random data when it have not
been initialized that cause failure of sigdebug test. Please review new patch 
https://xenomai.org/pipermail/xenomai/2021-June/045642.html


>
>Jan
>
>-- 
>Siemens AG, T RDA IOT
>Corporate Competence Center Embedded Linux
>
>

Reply via email to