Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re^7: Hanging Threads

by BrowserUk (Patriarch)
on Aug 18, 2007 at 22:30 UTC ( [id://633535]=note: print w/replies, xml ) Need Help??

in reply to Re^6: Hanging Threads
in thread Hanging Threads

If you have the interest in discovering more, given that you already have a solution, then you could try installing the latest CPAN version (1.63) and see if that also cures the problem with using threads->self().

I have 1.63 installed and it's not an easy task to back that out, but if that cures the problem for you it's probably safe to conclude it is a old problem that has already been fixed.

Strange that I never encountered it in the couple of years that I've been using 5.8.6/5.8.8, but then I always use threads->self->tid for identification purposes and have never had reason to obtain or reference a thread handle from within it's own thread procedure.

As I mentioned, there is a certain logic to it. If the thread procedure contains a reference to itself, then you have a circular reference, and that is a well-known problem that prevents destructors being called.

I wonder how they cured it? The usual method is to weaken the reference (artificially drop the reference count), but looking inside 1.63 they appear to mortalise before returning it--which I thought meant that the ref count was increased? But then, there is a bunch of the internal shenanigans that is tantamount to black magic as far as my understanding goes.

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://633535]
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (5)
As of 2024-04-24 06:25 GMT
Find Nodes?
    Voting Booth?

    No recent polls found