flockfile(3) Library Functions Manual flockfile(3) NOMBRE flockfile, ftrylockfile, funlockfile - bloqueo sobre el objeto FILE de stdio BIBLIOTECA Biblioteca Estandar C (libc, -lc) SINOPSIS #include void flockfile(FILE *filehandle); int ftrylockfile(FILE *filehandle); void funlockfile(FILE *filehandle); Requisitos de Macros de Prueba de Caracteristicas para glibc (vease feature_test_macros(7)): A continuacion se muestran todas las funciones: /* Since glibc 2.24: */ _POSIX_C_SOURCE >= 199309L || /* glibc <= 2.23: */ _POSIX_C_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE DESCRIPCION 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 realizadopor 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(3) y putc_unlocked(3) en lugar de getc(3) y putc(3). 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. ATRIBUTOS Para obtener una explicacion de los terminos usados en esta seccion, vease attributes(7). +-----------------------------+--------------------+-------------------+ |Interfaz | Atributo | Valor | +-----------------------------+--------------------+-------------------+ |flockfile(), ftrylockfile(), | Seguridad del hilo | Multi-hilo seguro | |funlockfile() | | | +-----------------------------+--------------------+-------------------+ ESTANDARES POSIX.1-2008. HISTORIAL POSIX.1-2001. Estas funciones estan disponibles cuando _POSIX_THREAD_SAFE_FUNCTIONS esta definida. VEASE TAMBIEN unlocked_stdio(3) TRADUCCION La traduccion al espanol de esta pagina del manual fue creada por Miguel Perez Ibars Esta traduccion es documentacion libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algun error en la traduccion de esta pagina del manual, envie un correo electronico a . Paginas de manual de Linux 6.06 31 Octubre 2023 flockfile(3)