🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #15854

Re: Sockets, Rt-Linux y sincronizaci�n.

#15854
From: Mario Teijeiro Otero
Date: Sat, 27 May 2000 00:00
72 lines
3509 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ignacio Pach�s Giner <ipaches@dsic.upv.es> writes:

>     Hola y
>     Al grano...:
> 
>     Tengo un sistema con RT-Linux version 1.1 (n�cleo  2.0.36). En linux
> 
> tengo un proceso puesto a la m�xima prioridad que se comunica con
> RT-Linux.
> Este programa env�a tramas por sockets a un servidor remoto de la forma
> m�s normal.
>     El proceso linux se queda bloqueado esperando una lectura por las
> fifo cada
> ciclo principal de ejecuci�n. Dentro de estos ciclos realiza siempre
> alguna escritura
> en el socket. Sin embargo, no consigo ver en el servidor remoto las
> tramas hasta
> que finalizo con el programa y lo cierro junto con las tareas de
> RT-linux. Env�a
> todas las tramas al final.
> 
>     �C�mo consigo bloquear al programa cada vez hasta que toda la trama
> haya sido
> enviada?
> 
>     �Necesitar� aumentar el protocolo e incluir una respuesta a la que
> deba
> esperarme para conseguir la sincronizaci�n?
> 
> Gracias
> 

Me parece raro lo que te pasa. 

Me choca que el proceso RTLinux escriba datos para arriba sin que el
de arriba se los pida. Recuerda que si la fifo se llena, todo lo que
se escriba en ella se pierde.
Tambi�n me choca que el proceso Linux lea en una /dev/rtf0 de forma
bloqueante, y que luego tb en se bloquee en las llamadas a sockets.
Si se bloquea en la llamadas de sockets, el proceso RTLinux puede 
sobrecargar la rtfifo y perder datos enviados.

Yo actualmente hago:
le conecto una funci�n de callback en RTLinux para que sea llamada cuando
hay algo que leer de una fifo. As�, cuando el proceso linux quiere leer
algo de RTLinux le env�a un comando por una fifo LIN2RT, entonces se 
ejecuta la funci�n que se registr� antes, y �sta se encarga de coger los
datos del proceso RTLinux y se las env�a al linux mediante otra fifo RT2LIN.

Con esto ganamos en que el proceso RTLinux no pierde nunca tiempo en enviar
datos para arriba, y el tiempo de espera de la Tarea Linux es minimo.
- -- 
vi vs emacs: Es como el papel del water: o lo pones con el papel colgando por
delante o por detr�s, pero siempre lo pondr�s por el mismo lado.
				(Xavier Gonz�lez Onrubia)

====================================================================
Mario Teijeiro Otero           mailto:asimovi at teleline dot es         
Powered by Hispafuentes 6.1    clave: correo con Asunto: "[PGPKEY]"
Usr. Reg. 122438               o en http://www.terra.es/personal2/asimovi 
====================================================================
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.1 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.5 and Gnu Privacy Guard <http://www.gnupg.org/>

iD8DBQE5LwQxMKsc+XeZcdwRAuKpAJkBRqHZs1/p74CT9vnpMoY1gTcoBwCfXWRY
qhgf0eCOFitt3S/+p5tU7gw=
=is/n
-----END PGP SIGNATURE-----
Technical Details
Message-ID: <m3u2fkdi31.fsf@asimovi.localdomain>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <392EAE87.391A1F47@dsic.upv.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,94a5b5257afa957c
X-Google-Attributes: gidf86c8,public
From: Mario Teijeiro Otero <asimoviANTISPAM@teleline.es>
Subject: Re: Sockets, Rt-Linux y sincronizaci�n.
Date: 2000/05/27
Message-ID: <m3u2fkdi31.fsf@asimovi.localdomain>
X-Deja-AN: 627944135
Content-Transfer-Encoding: 8bit
References: <392EAE87.391A1F47@dsic.upv.es>
Organization: Telefonica Transmision de Datos
Content-Type: text/plain; charset=iso-8859-1
User-Agent: Gnus/5.0806 (Gnus v5.8.6) Emacs/20.4
Mime-Version: 1.0
Newsgroups: es.comp.os.linux.programacion