Re: threads change

[email protected] (Elizabeth Mattijsen)
Newsgroups perl.perl5.porters,perl.ithreads
Message-ID <p0623092ec0e250a317f5@[192.168.1.105]>
At 11:07 PM +0200 7/17/06, Rafael Garcia-Suarez wrote:
>On 14/07/06, Artur Bergman <[email protected]> wrote:
>>  >> If code is running in  a thread or no doesn't mean it
>>>>  should have to act differently.
>>>>
>>>>  I also think exiting from a thread is something that the
>>>>  developer  should be aware of is happening, and that is
>>>>  why it is giving the  warning.
>>>
>>>  That is what started off the whole discussion:  Exiting from
>>>  a thread was NOT issuing a warning.
>>
>>Then that should have been the fix.
>
>I come to think that a better idea wrt exit() is one that was proposed
>during the referred thread:
>let exit() exit the application (like before), and add threads->exit()
>to exit the thread. Opinions?

In light of the discussions again, I think that would make the most 
sense, with one addendum: to have an easy way inside a thread to make 
exit() to a threads->exit() instead.  If you happen to have to use a 
module (over which you have no control) inside a thread that might do 
an exit().  And as the owner of the thread, you don't want it to exit 
the application.

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;



Liz
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.