[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: En C una llamada a read no bloqueante



Me imagino que te refieres al hacer un read sobre un fifo, no? Corrigeme si me equivoco.
Nunca he usado un read no bloqueante sobre una tuberia con nombre, pero puede que la opción O_NONBLOCK tengas que utilizarla a la hora de abrir la tuberia.
"int open(char *fifo, int flag)" en el parámetro flag.
Si de esta forma no te funciona, prueba a utilizar una cola de mensajes para sincronizar los procesos, porque éstas si que te permiten un read (en este caso, receive) no bloqueante usando el flag O_NONBLOCK a la hora de crear dicha cola.
Mucha suerte, y si no tienes algo claro, pregunta.
Salu2.


> ¿Como puedo hacer en C que una llamada a read() no sea bloqueante?
> En el man veo esto, pero no se donde o como lo tengo que definir.
>
> ERRORS
> EINTR The call was interrupted by a signal before any
> data was read.
>
> EAGAIN Non-blocking I/O has been selected using O_NONBLOCK
> and no data was immediately available for reading.
>
> ¿Como puedo usar el O_NONBLOCK? ¿donde tengo que ponerlo?
>
>
> --
> To UNSUBSCRIBE, email to debian-user-spanish-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
> listmaster@lists.debian.org
>
>
>


Usuario Registrado de GNU/Linux
#209025.

"Siempre hay que tratar ser el mejor,
pero nunca creerselo". (Juan Manuel Fangio)




______________________________E_v_e_r_y_d_a_y_._c_o_m___

Vive la emoción del Mundial en tu móvil y recibe en tiempo real los tantos de tus equipos favoritos.
Ej.: Envía EVESP al 5075 y recibe todos los goles de la Selección Española.
Visita everyday.com para ver todos los códigos y estar a la última.

Reply to: