Date: | Mon, 3 May 2004 15:32:50 -0400 (EDT) |
Subject: | RE: PoCo::Child script hanging. Not reaping children correctly? |
From: | "Justin DeVuyst" <justin [...] devuyst.com> |
To: | bug-POE-Component-Child [...] rt.cpan.org |
It came down to the fact that done() was getting passed the same id
multiple times and thus some wheels never got done() called on them.
The root cause of this was that there were no way to remember which
wheels got SIGCHILD'ed or CloseEvent'ed, if that makes any sense.
Well, there was a scalar being used between sig_child() and close()
so it could remember one... So, if all the wheels SIGCHILDed before
they closed then only the most recent wheel would have done called
on it since there was only one value. Hope this is all remotely
correct.
My proposed patch basically puts in 2 more lists into the heap and 2
functions to access them easily.
Thanks,
Justin DeVuyst
Message body is not shown because sender requested not to inline it.
Message body is not shown because sender requested not to inline it.