I have a C++ pthread Thread invoking shell scripts using Popen.
What is observed in one case is that a pthread_join failure is caught (i.e pthread_join != 0) and the child process remains as zombie ( as per ps output).
This also causes the main program to hang.
Right now, I don't know why the pthread_join would fail, because it never did in other scenarios.
But I would like to know whether collecting the wait status of the child process spawned by Popen is part of thread_join. If so atleast I can be sure that the join failure is the root cause for the zombie and the program hang..
Thanks in advance..