forks.pm good (but noisy!)

[email protected] ("Bradley W. Langhorst")
Newsgroups perl.ithreads
Message-ID <1049246277.1266.7.camel@bwlnote>
I've been sweating a multi threaded program for a few weeks now...

I first tried Shareable.pm and forked processes- locking was
unreliable...

Then I tried ShareLite.pm - it was better but I still had
non-deterministic
behaviour and found my code hanging while trying to UNLOCK variables...

Then I upgraded perl to 5.8.0 and switched to ithreads and
ithreads::shared
- finally locking seems to be reliable - but i get segfaults sometimes
when
i try to call threads->new from a thread (and sometimes FETCH errors
from
INET, and leaked scalars)

Just when I was getting ready to give up on perl for threaded
applications
(and I really like perl in general) I tried forks.pm.

I don't see segfaults, i don't get weird locking problems, it just works
as
advertised...  I was quite sceptical given that there are only 2
revisions
on CPAN but (at least for me) this module is superior to all the others
I
mentioned above.

THANKS Elizabeth! (i feel we're on a first name basis since you've
helped me
so much by writing your module - i hope you don't mind)

One side note - i do get thousands of lines of 
Use of uninitialized value in eval "string" at
/usr/local/lib/perl/5.8.0/forks.pm line 990.
Use of uninitialized value in eval "string" at
/usr/local/lib/perl/5.8.0/forks.pm line 990.
Use of uninitialized value in eval "string" at
/usr/local/lib/perl/5.8.0/forks.pm line 990.
Use of uninitialized value in eval "string" at
/usr/local/lib/perl/5.8.0/forks.pm line 990.
Use of uninitialized value in eval "string" at
/usr/local/lib/perl/5.8.0/forks.pm line 990.
Use of uninitialized value in eval "string" at
/usr/local/lib/perl/5.8.0/forks.pm line 990.
Use of uninitialized value in eval "string" at
/usr/local/lib/perl/5.8.0/forks.pm line 990.
Use of uninitialized value in eval "string" at
/usr/local/lib/perl/5.8.0/forks.pm line 990.
Use of uninitialized value in eval "string" at
/usr/local/lib/perl/5.8.0/forks.pm line 990.
Use of uninitialized value in eval "string" at
/usr/local/lib/perl/5.8.0/forks.pm line 990.
as my program runs.

I can't stand to look at this another minute right now so I don't know
what's causing that - but i thought i should probably report it...

many thanks!

brad

(PS I originally tried to post this message via nntp but it never made
it to the group...)
-- 
Bradley W. Langhorst <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.