.\" -*- coding: UTF-8 -*- .\" Copyright (C) 2001 Andries Brouwer . .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH FLOCKFILE 3 "9 Junio 2020" "" "Manual del Programador de Linux" .SH NOMBRE flockfile, ftrylockfile, funlockfile \- bloqueo sobre el objeto FILE de stdio .SH SINOPSIS .nf \fB#include \fP .PP \fBvoid flockfile(FILE *\fP\fIfilehandle\fP\fB);\fP \fBint ftrylockfile(FILE *\fP\fIfilehandle\fP\fB);\fP \fBvoid funlockfile(FILE *\fP\fIfilehandle\fP\fB);\fP .fi .PP .RS -4 Requisitos de Macros de Prueba de Características para glibc (véase \fBfeature_test_macros\fP(7)): .RE .ad l .PP All functions shown above: .RS 4 /* Since glibc 2.24: */ _POSIX_C_SOURCE\ >=\ 199309L || /* Glibc versions <= 2.23: */ _POSIX_C_SOURCE || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE .RE .ad b .SH DESCRIPCIÓN Las funciones stdio son hilo\-seguro. Ésto se consigue asignando a cada objeto \fIFILE\fP una cuenta de bloqueos (lockcount) y (si la cuenta es distinta de cero) un hilo que actúa de propietario. Por cada llamada a la biblioteca, estas funciones esperan hasta que el objeto \fIFILE\fP deje de estar bloqueado por algún otro hilo diferente, después lo bloquean, realizan la petición de E/S solicitada, y desbloquean el objeto de nuevo. .PP (Nota: este bloqueo no tiene nada que ver con el bloqueo realizadopor funciones como \fBflock\fP(2) y \fBlockf\fP(3).) .PP Todo ésto es invisible al programador de C, pero puede haber dos razones para querer un control más detallado. Por una parte, una serie de acciones de E/S de un hilo pueden ir juntas, y no deberían ser interrumpidas por la E/S de ningún otro hilo. Por otra parte, la sobrecarga del bloqueo debería evitarse para lograr una mayor eficiencia. .PP Para este propósito, un hilo puede bloquear explícitamente el objeto \fIFILE\fP, realizar su serie de acciones de E/S, y después desbloquearlo. Ésto impide que otros hilos lo interrumpan. Si la razón para hacer esto es lograr una mayor eficiencia, se debe realizar la E/S con las versiones no\-bloqueantes de las funciones stdio: con \fBgetc_unlocked\fP(3) y \fBputc_unlocked\fP(3) en lugar de \fBgetc\fP(3) y \fBputc\fP(3). .PP La función \fBflockfile\fP() espera a que \fI*filehandle\fP deje de estar bloqueado por otro hilo, hace al hilo actual propietario de \fI*filehandle\fP, e incrementa la cuenta de bloqueos. .PP La función \fBfunlockfile\fP() decrementa la cuenta de bloqueos. .PP La función \fBftrylockfile\fP() es una versión no\-bloqueante de \fBflockfile\fP(). No hace nada en el caso de que otro hilo sea el propietario de \fI*filehandle\fP, en otro caso obtiene la propiedad e incrementa la cuenta de bloqueos. .SH "VALOR DEVUELTO" La función \fBftrylockfile\fP() devuelve cero cuando tiene éxito (obtuvo el bloqueo), y un valor distinto de cero en caso de fallo. .SH ERRORES Ninguno. .SH ATRIBUTOS Para obtener una explicación de los términos usados en esta sección, véase \fBattributes\fP(7). .TS allbox; lbw29 lb lb l l l. Interfaz Atributo Valor T{ \fBflockfile\fP(), \fBftrylockfile\fP(), \fBfunlockfile\fP() T} Seguridad del hilo Multi\-hilo seguro .TE .SH "CONFORME A" POSIX.1\-2001, POSIX.1\-2008. .PP Estas funciones están disponibles cuando \fB_POSIX_THREAD_SAFE_FUNCTIONS\fP está definida. .SH "VÉASE TAMBIÉN" \fBunlocked_stdio\fP(3) .SH COLOFÓN Esta página es parte de la versión 5.10 del proyecto Linux \fIman\-pages\fP. Puede encontrar una descripción del proyecto, información sobre cómo informar errores y la última versión de esta página en \%https://www.kernel.org/doc/man\-pages/. .SH TRADUCCIÓN La traducción al español de esta página del manual fue creada por Miguel Pérez Ibars . Esta traducción es documentación libre; lea la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a .MT debian-l10n-spanish@lists.debian.org>. .ME .