develooper Front page | perl.perl5.porters | Postings from April 2003

Re: 5.8.1@19053: threads goofs

Thread Previous | Thread Next
From:
Ilya Zakharevich
Date:
April 2, 2003 12:39
Subject:
Re: 5.8.1@19053: threads goofs
Message ID:
20030402203909.GC5491@math.berkeley.edu
On Wed, Apr 02, 2003 at 01:07:05PM +0100, Tim Bunce wrote:
> > This has nothing to do with detach()/join().  Reading the source
> > shows: what the message tries to express (but as you can see it does
> > not succeed) is that a thread requests the whole process to exit(),
> > while this thread is not the last running thread of the process.
> 
> Not neccessarily "requests". It's just when an interpretter is being
> destroyed by itself for whatever reason. Hence the very general
> wording of "A thread exited".

IIUC: Nope.  The message is shown when *the process* terminates (via
Perl-visible request), not "an interpreter terminates".

> Seems like it is related to detach()/join() in that when a non-detached
> thread terminates it effectively waits for another thread to join()
> it to collect the result. And, as I understand it, the thread the
> does the join() is the one that calls perl_destruct() and so the
> "A thread exited" warning isn't generated (see the code).

Sorry, cannot parse what you wrote.  The message is shown when on the
process termination there are non-joined or detached threads.  Process
termination happens when a thread calls exit() or die()s (including
implicit exit() at the end of the main program).

Do not think this understanding of mine coincides with one of yours.
And I have some trust into my understanding - I spend a long time
trying to debug this message.

Yours,
Ilya

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About