I have 1 error and 1 warning messages (see below) for
the following scripts with "A.pl" and "B.pm".

_A.pl_
...
my $dummy=1;
threads->create("B::c", ($dummy));
...


_B.pm_
...
sub c{...}
...

ERROR_ "Scalars leaked: 1" occurs for each ref or a
hash (replace $dummy with %dummy in above script) that
is passed as argument to "B::c".

WARNING_ "Attempt to free unreferenced scalar" always
happens in above example when we pass a variable (of
any type) in one process to a sub in another module
when it is run as a thread.

In all above cases, arguments have been initialized
before creating threads. In "B::c", it also doesn't
matter if those arguments appear as lef-side or
right-side (the semaphore and queue definitely change
their content and I also tried not to use any argument
in "B::c" or just print out some scalar or size of
some non-scalar.).

So, is this a problem of my script or a bug? I did
find there is memory leak by checking w/ valgrind,
though I haven't check in very detail. Any comments?
Thanks!

System:

perl v5.8.8 built for i686-linux-thread-multi
2.6.15-gentoo linux 

Br

Michael


 
____________________________________________________________________________________
Expecting? Get great news right away with email Auto-Check. 
Try the Yahoo! Mail Beta.
http://advision.webevents.yahoo.com/mailbeta/newmail_tools.html 

Reply via email to