Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re^6: Hanging Threads

by WalkingZero (Sexton)
on Aug 18, 2007 at 22:06 UTC ( #633531=note: print w/replies, xml ) Need Help??

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

v5.8.8 built for i486-linux-gnu-thread-multi

Replies are listed 'Best First'.
Re^7: Hanging Threads
by BrowserUk (Pope) on Aug 18, 2007 at 22:30 UTC

    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
Node Status?
node history
Node Type: note [id://633531]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (4)
As of 2018-06-24 15:24 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (126 votes). Check out past polls.