Dado que no domino el  tema del multithread (aunque supongo que
     todo  radica  en  fork()),  estoy haciendo  dos  programas  que  se
     comunicar�n mediante una pipa. Como prueba sencilla, servidor.pl:

#!/usr/bin/perl
## abrir tuberia
open (PIPA, "</home/hue/tmp/contador");
do {
        ## esperar que lleguen datos
        $texto = <PIPA>;
        ## imprimir en pantalla
        print $texto;
} until ($texto eq "MEPIRO\n");
close(PIPA);

         La otra parte, cliente.pl:

#!/usr/bin/perl
$texto = $ARGV[0];
open (PIPA, ">/home/hue/tmp/contador");
print (PIPA $texto . "\n");
close (PIPA);

         Bien:

$ ./cliente.pl uolas
uolas
$

         El texto  va por  la tuber�a  y aparece  en pantalla  porque el
     servidor lo imprime. PERO! desde  este momento, el servidor se pone
     a comsumir  fren�ticamente todo el  micro que puede. El  xosview me
     indica que el tiempo de micro es en modo usuario, no sistema. �C�mo
     puedo arreglarlo?  En el man de  fifo(4) veo que se  puede abrir la
     tuber�a en modo blocking o non-blocking,  no s� si esto tendr� algo
     que ver, y en tal caso tampoco s� c�mo implementarlo en perl.

         Esto es off topic aqu�, �conoc�is alguna lista de perl?


-- 
 David Serrano <[EMAIL PROTECTED]> - Linux Registered User #87069

Attachment: pgpWidgcfz1A1.pgp
Description: PGP signature

Responder a