I just took a brief diving trip through the source. Looks like that the various kernel bits check to see if $poe_kernel is live just to avoid setup costs. Even if there is a live kernel, it will attempt to launch into another core loop. I'm not sure a space-time continuum breach would occur but you do run the risk of having the Stay-Puft marshmallow man trash your city.

There are two paths in this forest. First, the kernel can be patched to avoid that kind of multiple spin up. Personally, I find that artificially limiting. I'm not sure why one would want to do any of this but I've learned over the years that the POE community comes up with strange ways to use pretty much every bug or odd side effect that's ever been found in the core.

Second, in your magic POE wrapping api, you can use POE::API::Peek to determine the state of the kernel. I've got a is_running() method in there that you can either use via my module or rip out and use with credit. Yay for the bsd license :) Using the module would help me know that it still works though :)

I'm just guessing here but I think your best ROI is the second option. Just my suggestion though :)

--
Matt Cashner
[EMAIL PROTECTED]
http://mattcashner.com

Reply via email to