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