Re: threads change
[email protected] (Elizabeth Mattijsen) Tue, 18 Jul 2006 17:08:31 +0200
| Newsgroups | perl.perl5.porters,perl.ithreads |
|---|---|
| Message-ID | <p06230932c0e2a9a5f444@[192.168.56.6]> |
At 6:38 AM -0700 7/18/06, Artur Bergman wrote: >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. That's not what I propose. It's just that I think "threads" should make it easy to change the semantics on a per thread basis. >Seriously, a thread is not a process, a process is not a thread. Add >thread exit if you want, but exit should exit. Unless, you as a developer, decides to use an external module that does an exit(), and you want it to just exit the thread. Liz