Re: threads change

[email protected] (Artur Bergman) Tue, 18 Jul 2006 06:38:37 -0700
Newsgroups perl.perl5.porters,perl.ithreads
Message-ID <[email protected]>
On Jul 18, 2006, at 3:39 AM, Elizabeth Mattijsen wrote:

> At 2:29 AM -0700 7/18/06, Artur Bergman wrote:
>> On Jul 18, 2006, at 2:15 AM, Elizabeth Mattijsen wrote:
>>
>>> At 2:07 AM -0700 7/18/06, Artur Bergman wrote:
>>>> On Jul 18, 2006, at 1:52 AM, Elizabeth Mattijsen wrote:
>>>>
>>>>> Trying to do this by override CORE::exit is not a option, as  
>>>>> you can only do this at compile time (as far as I know).
>>>>>
>>>>>
>>>>> So I would favour in extra, cloned global variable that would  
>>>>> be checked by CORE::Exit, which would indicate whether to  
>>>>> really exit(), or do a threads->exit().  And have an easy way  
>>>>> to change the (cloned) setting of this variable with a threads  
>>>>> class method, e.g. thread->exit_exits_thread_only;
>>>>
>>>> You can use CORE::exit if you make sure you set it before you  
>>>> load the external module.
>>>
>>> True, but generally you just "use" code in your program, which  
>>> means the code is used by the main thread already, before you  
>>> start the thread.
>>>
>>> Which is the reason I once wrote Thread::Use.
>>>
>>>
>>> Liz
>>
>> Eh,
>>
>> if you use a module that changes CORE::exit before you use any  
>> other module you are set to go.
>
> Well, that's what the "threads" module should do then.
>


I disagree, the threads module shouldn't change process level  
semantics per default.

Seriously, a thread is not a process, a process is not a thread. Add  
thread exit if you want, but exit should exit.

Artur