This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCJ built multithreaded program keeps creating zombies


Wolfgang> When a process (and thus, here, also a thread) ends, it
Wolfgang> remains a zombie until its return valued is reaped by a
Wolfgang> waitpid call, which should also be what pthread_join
Wolfgang> does. So unless a thread is joined, it will remain a zombie.

Is this one of those places where Linux threads don't follow posix?

We create detached threads.  My understanding is that such threads
*can't* be passed as an argument to pthread_join.

Incidentally the original reporter sent me email and said that this
was in fact not a libgcj problem.  I'm including the relevant part of
this message:

    Since the rt_sig queue under linux is of limitted size and the kernel
    does not clean it up if a process decides to leave signals in the
    queue some random time after booting the system the queue filled up
    and multithreading stopped working.

I'm going to close the PR.

Tom


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]