in reply to Re: Re: Attempt to free unreferenced scalar...
in thread Attempt to free unreferenced scalar...

OK, I did it as you said and... it works!
No more errors, no more unhappy people ;)

Thanks! If you ever be in Krakow (Poland), I'll buy you a beer :)

-- Daniellek

Replies are listed 'Best First'.
Re: Attempt to free unreferenced scalar...
by Dominus (Parson) on Dec 10, 2000 at 07:21 UTC
    I'm glad I could be helpful! If I'm ever in Krakow, I'll let you buy me a beer.

      I hope You're still tracking this thread, because i've got real big problem with this program after "patching" it...

      Below is the changed fragment (old code is commented), and the problem is that it seems it's not multithreaded! I watched `ps fauxw` and during heavy load, while old version was runnig there were from 3 to 8 processes in beautiful tree, now it seems it has 1 child only at a time... Related problem is that during heavy load like this i get "connetcion refused" on clients...

      Is there something wrong in this code? Maybe i just misunderstood Your "patching instructions"

      Please Help!

      my $dbh = DBI->connect("DBI:mysql:database=qmail;host=localhost", "qmail", $pass, {'RaiseError' => 1}); logmsg "server started on port $port"; my $waitedpid = 0; my $paddr; sub REAPER { #!!!!!!!!!!!!v $waitedpid = wait; $SIG{CHLD} = \&REAPER; # loathe sysV #logmsg "reaped $waitedpid" . ($? ? " with exit $?" : ''); } $SIG{CHLD} = \&REAPER; #!!!!!!!!!!!!!!^ for ( $waitedpid = 0; ($paddr = accept(Client,Server)) || $waitedpid; $waitedpid = 0, close Client) { next if $waitedpid and not $paddr; my($port,$iaddr) = sockaddr_in($paddr); my $name = gethostbyaddr($iaddr,AF_INET); logmsg "connection from $name [", inet_ntoa($iaddr), "] at port $port"; #do { # $kid = waitpid(-1,&WNOHANG); # } until $kid == -1; spawn sub { my $line = <STDIN>; chomp $line; my @param = split (/ /,$line);
      -- Daniellek
        I can't understand what code is supposed to be in your program and what isn't. Please post the actual code that you are using that has a problem.