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]>

Reply via email to