[Vienna-pm] anmerkungen ..

Peter J. Holzer hjp-vienna-pm-list at hjp.at
Sat May 26 15:23:37 PDT 2007


On 2007-05-26 12:09:00 +0200, gooly at gmx.at wrote:
> Am Freitag, 25. Mai 2007 schrieb Peter J. Holzer:
> > On 2007-05-25 18:09:18 +0200, gooly at gmx.at wrote:
> >
> > > foreach my $f ( liesFiles($FileDir) ) {
> > >    open( STDOUT, "<&", $SOCKET )  or warn "can't dup to
> >
> > Das ist verwirrend. Du öffnest hier STDOUT zum Lesen.
[...]
> > >    open( STDOUT, "<&SAVEOUT" ) or warn "can't restore stdout:
> > > $!\n";
> >
> > Und da auch. Kannst Du danach noch auf STDOUT schreiben?
> Ja, ich kriegte nur einen Warung.

Bei mir (perl, v5.8.8 built for i486-linux-gnu-thread-multi) geht das
nämlich nicht:

#!/usr/bin/perl

open(SAVEOUT, "<&STDOUT") or warn "can't save stdout: $!\n";
open(STDOUT, ">foo1");
open( STDOUT, "<&SAVEOUT" ) or warn "can't restore stdout: $!\n";

print STDOUT "test\n" or warn "cannot write to stdout: $!\n";

ergibt:

cannot write to stdout: Bad file descriptor


> Aber zur Sicherheit alle drei 
> open 'gehen mit' ">&"?

Ja, schließlich willst Du den Filedescriptor zum Schreiben öffnen.


> > Eine Methode, Memory-Leaks zu vermeiden, ist es zu forken und die
> > eigentliche Arbeit im Kind-Prozess zu machen. 
> Ja, aber dann hätt ich lauter forks in in forks in forks..

Warum das?

> Das sind dannn  ifs in ifs in ifs.. So bleibt das Programm klein und 
> übersichtlich und ich hab das Gefühl es ist auch ein bißchen schneller?

Ja, ein fork kostet Zeit. Aber sobald ein zweiter Client zu connecten
versucht, wird zumindest die Latenz deutlich besser, wenn auch nicht
notwendigerweise der Throughput.

	hp

-- 
   _  | Peter J. Holzer    | I know I'd be respectful of a pirate 
|_|_) | Sysadmin WSR       | with an emu on his shoulder.
| |   | hjp at hjp.at         |
__/   | http://www.hjp.at/ |	-- Sam in "Freefall"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://mail.pm.org/pipermail/vienna-pm/attachments/20070527/fb1efbcb/attachment.bin 


More information about the Vienna-pm mailing list