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
pgpWidgcfz1A1.pgp
Description: PGP signature

