Provided by: manpages-es_1.55-10_all bug

NOMBRE

       flockfile,  ftrylockfile, funlockfile - bloqueo sobre el objeto FILE de
       stdio

SINOPSIS

       #include <stdio.h>

       void flockfile(FILE *filehandle);
       int ftrylockfile(FILE *filehandle);
       void funlockfile(FILE *filehandle);

DESCRIPCI'ON

       Las funciones stdio son hilo-seguro. Esto se consigue asignando a  cada
       objeto  FILE  una  cuenta  de  bloqueos  (lockcount) y (si la cuenta es
       distinta de cero) un hilo que actua de propietario.  Por cada llamada a
       la biblioteca, estas funciones esperan hasta que el objeto FILE deje de
       estar bloqueado por algun otro hilo  diferente,  despues  lo  bloquean,
       realizan  la  peticion  de  E/S  solicitada, y desbloquean el objeto de
       nuevo.

       (Nota: este bloqueo no tiene nada que ver con el bloqueo realizado  por
       funciones como flock(2) y lockf(3).)

       Todo  esto  es  invisible  al  programador  de  C, pero puede haber dos
       razones para querer un control mas detallado. Por una parte, una  serie
       de  acciones  de  E/S  de  un  hilo pueden ir juntas, y no deberian ser
       interrumpidas por la E/S de ningun  otro  hilo.   Por  otra  parte,  la
       sobrecarga   del   bloqueo  deberia  evitarse  para  lograr  una  mayor
       eficiencia.

       Para este proposito, un hilo puede bloquear  explicitamente  el  objeto
       FILE,  realizar  su  serie de acciones de E/S, y despues desbloquearlo.
       Esto impide que otros hilos lo interrumpan. Si la razon para hacer esto
       es  lograr  una  mayor  eficiencia,  se  debe  realizar  la E/S con las
       versiones no-bloqueantes de las funciones stdio: con getc_unlocked()  y
       putc_unlocked() en lugar de getc() y putc().

       La funcion flockfile() espera a que *filehandle deje de estar bloqueado
       por otro hilo, hace  al  hilo  actual  propietario  de  *filehandle,  e
       incrementa la cuenta de bloqueos.

       La funcion funlockfile() decrementa la cuenta de bloqueos.

       La  funcion ftrylockfile() es una version no-bloqueante de flockfile().
       No hace nada en el  caso  de  que  otro  hilo  sea  el  propietario  de
       *filehandle,  en  otro caso obtiene la propiedad e incrementa la cuenta
       de bloqueos.

VALOR DEVUELTO

       La funcion ftrylockfile() devuelve cero cuando tiene exito  (obtuvo  el
       bloqueo), y un valor distinto de cero en caso de fallo.

ERRORES

       Ninguno.

DISPONIBILIDAD

       Estas  funciones  estan disponibles cuando _POSIX_THREAD_SAFE_FUNCTIONS
       esta definida. Estan presentes en libc desde  libc  5.1.1  y  en  glibc
       desde glibc 2.0.

CONFORME A

       POSIX.1

V'EASE TAMBI'EN

       unlocked_stdio(3)

                                18 octubre 2001                    LOCKFILE(3)