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