/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
Bugs i Net::Server
Fra : Flemming Frandsen


Dato : 09-04-03 18:29

Jeg sidder og har store traumer med Net::Server på Perl 5.8.0 på SuSE 8.1

Jeg har fundet og fixet to problemer:

Bug 1: (i Net::Server::Deamonize)
my $result = POSIX::setuid( $uid );
if( ! defined($result)
|| $result != $uid ){ # assuming this is true for all systems
die "Couldn't POSIX::setuid to \"$uid\" [$!]\n";
}

På mit system returnerer setuid() "0 but true" så det var relativt let
at fixe.


Bug 2: Det er umuligt at køre et eksternt program (via system()) fordi
handleren for SIGCHLD dræber serveren i Net::Server::PreForkSimple og
Net::Server::PreFork står der:

$SIG{INT} = $SIG{TERM} = $SIG{QUIT}
= $SIG{CHLD} = sub {
$self->child_finish_hook;
exit;
};

Ved at slette "= $SIG{CHLD}" virker ting som de skal igen.


Problem nummer 3 viser sig ikke på min udviklingsmaskine (SuSE 8.0 med
perl 5.6.1), men kun på live boxen (SuSE 8.1 med perl 5.8.0), det består
i at en request til serveren (via en unix socket) bare hænger, man kan
godt skrive til socketen fra klienten, men kontrollen overgår aldrig til
min process_request.


Bruger andre her Net::Server?

--
Regards Flemming Frandsen - http://dion.swamp.dk
PartyTicket.Net co founder & Yet Another Perl Hacker


 
 
Søg
Reklame
Statistik
Spørgsmål : 177428
Tips : 31962
Nyheder : 719565
Indlæg : 6407936
Brugere : 218877

Månedens bedste
Årets bedste
Sidste års bedste