I am having problems mixing the Thread::Pool and Event modules. I can access the a pool created outside of a callback, but can't create a pool within the callback. You can see it by running the program below with and without the argument 'out'.
Please help,
Whoa. Event _and_ threads... ;-)
FWIW, with 5.8.3-threaded under valgrind this is the result:
==11978== Invalid read of size 4
==11978== at 0x8066888: S_my_exit_jump (in /usr/local/bin/perl5.8.3-threaded)
==11978== by 0x80667DF: Perl_my_failure_exit (in /usr/local/bin/perl5.8.3-threaded)
==11978== by 0x80A78C6: Perl_vcroak (in /usr/local/bin/perl5.8.3-threaded)
==11978== by 0x80A7A6E: Perl_croak (in /usr/local/bin/perl5.8.3-threaded)
==11978== Address 0x8 is not stack'd, malloc'd or free'd
Seems to me something is breaking while Perl is croaking...
I would welcome any insights... I don't have any tuits to pursue that kind of problem with Thread::Pool.
One comment on the code, though. Why don't you start the pool of threads always?
I checked whether this might be related to the on-demand loading of subs of Thread::Pool. Forcing loading of all subroutines at compile time (by specifying the environment variable LOAD_NOW) gives identical results, so I think we can rule out that as a problem.
Finallly, I wasn't able to get a clean make test of Event.pm with Mac OS X. Is that a known problem?
Liz
