On 07/24/2015 05:31 PM, Philippe Gerum wrote:
> On 07/24/2015 05:29 PM, Philippe Gerum wrote:
>> On 07/24/2015 05:23 PM, Jan Kiszka wrote:
>>> On 2015-07-24 17:08, Philippe Gerum wrote:
>>>> On 07/24/2015 04:56 PM, Jan Kiszka wrote:
>>>>> On 2015-07-24 16:29, Philippe Gerum wrote:
>>>>>> On 07/23/2015 03:27 PM, Jan Kiszka wrote:
>>>>>>> On 2015-07-23 11:45, Philippe Gerum wrote:
>>>>>>>> On 07/23/2015 11:37 AM, Jan Kiszka wrote:
>>>>>>>>> On 2015-07-23 11:24, Philippe Gerum wrote:
>>>>>>>>>>
>>>>>>>>>> Hi Jan,
>>>>>>>>>>
>>>>>>>>>> Do you still have a use case for calling rt_print_auto_init(false) or
>>>>>>>>>> not calling rt_print_auto_init(true) from libcobalt's bootstrap code?
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Huh, that was a day-one feature, now 8 years old, barely remember the
>>>>>>>>> details. I'm currently not aware of a concrete scenario. It definitely
>>>>>>>>> makes sense to revisit this think.
>>>>>>>>>
>>>>>>>>> I guess one, if not the major problem back then was that the implicit
>>>>>>>>> malloc of the initialization step was not consistently causing a
>>>>>>>>> SIGDEBUG warning. That is now different.
>>>>>>>>>
>>>>>>>>
>>>>>>>> Since the current thread won't be notified until XNWARN is armed in its
>>>>>>>> TCB, any objection to move that call as a nop placeholder to the compat
>>>>>>>> section in libtrank, leaving the implicit init to libcobalt as 
>>>>>>>> currently?
>>>>>>>
>>>>>>> Ack.
>>>>>>>
>>>>>>
>>>>>> Ok, let's see how deep you can dive into your context stack these days:
>>>>>> what about rt_print_cleanup() now? I see no in-tree callers, and I
>>>>>> wonder whether there is any use case for an application to stop the
>>>>>> stdio support during runtime.
>>>>>
>>>>> I used to have one recently that was specifically interested in
>>>>> terminating the associated thread. But that case was modified later on
>>>>> due to other reasons. In principle, the value of this cleanup function
>>>>> is in the printer thread control, even if that means cutting of wrapped
>>>>> I/O (you could still print via unwrapped services then).
>>>>>
>>>>
>>>> Ok. Was it part of a broader feature aimed at moving the per-process rt
>>>> support to a quiescent state?
>>>
>>> No, rather about ensuring that if you terminate only the main thread in
>>> an application that believes this thread was the last one, the
>>> application as a whole terminates.
>>>
>>
>> We could probably tell the existing atexit() handler to wipe the helper
>> thread too.
>>
> 
> mm, no. This would not exit, precisely.
> 

However, we do have a TSD on the main thread, so signaling the helper
from the TSD destructor would do.

-- 
Philippe.

_______________________________________________
Xenomai mailing list
[email protected]
http://xenomai.org/mailman/listinfo/xenomai

Reply via email to