diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-24 04:52:22 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-24 04:52:22 +0000 |
commit | 3d08cd331c1adcf0d917392f7e527b3f00511748 (patch) | |
tree | 312f0d1e1632f48862f044b8bb87e602dcffb5f9 /man3/flockfile.3 | |
parent | Adding debian version 6.7-2. (diff) | |
download | manpages-3d08cd331c1adcf0d917392f7e527b3f00511748.tar.xz manpages-3d08cd331c1adcf0d917392f7e527b3f00511748.zip |
Merging upstream version 6.8.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man3/flockfile.3')
-rw-r--r-- | man3/flockfile.3 | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/man3/flockfile.3 b/man3/flockfile.3 deleted file mode 100644 index 911f8de..0000000 --- a/man3/flockfile.3 +++ /dev/null @@ -1,133 +0,0 @@ -'\" t -.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>. -.\" -.\" SPDX-License-Identifier: Linux-man-pages-copyleft -.\" -.TH flockfile 3 2023-10-31 "Linux man-pages 6.7" -.SH NAME -flockfile, ftrylockfile, funlockfile \- lock FILE for stdio -.SH LIBRARY -Standard C library -.RI ( libc ", " \-lc ) -.SH SYNOPSIS -.nf -.B #include <stdio.h> -.P -.BI "void flockfile(FILE *" filehandle ); -.BI "int ftrylockfile(FILE *" filehandle ); -.BI "void funlockfile(FILE *" filehandle ); -.fi -.P -.RS -4 -Feature Test Macro Requirements for glibc (see -.BR feature_test_macros (7)): -.RE -.P -All functions shown above: -.nf - /* Since glibc 2.24: */ _POSIX_C_SOURCE >= 199309L - || /* glibc <= 2.23: */ _POSIX_C_SOURCE - || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE -.fi -.SH DESCRIPTION -The stdio functions are thread-safe. -This is achieved by assigning -to each -.I FILE -object a lockcount and (if the lockcount is nonzero) -an owning thread. -For each library call, these functions wait until the -.I FILE -object -is no longer locked by a different thread, then lock it, do the -requested I/O, and unlock the object again. -.P -(Note: this locking has nothing to do with the file locking done -by functions like -.BR flock (2) -and -.BR lockf (3).) -.P -All this is invisible to the C-programmer, but there may be two -reasons to wish for more detailed control. -On the one hand, maybe -a series of I/O actions by one thread belongs together, and should -not be interrupted by the I/O of some other thread. -On the other hand, maybe the locking overhead should be avoided -for greater efficiency. -.P -To this end, a thread can explicitly lock the -.I FILE -object, -then do its series of I/O actions, then unlock. -This prevents -other threads from coming in between. -If the reason for doing -this was to achieve greater efficiency, one does the I/O with -the nonlocking versions of the stdio functions: with -.BR getc_unlocked (3) -and -.BR putc_unlocked (3) -instead of -.BR getc (3) -and -.BR putc (3). -.P -The -.BR flockfile () -function waits for -.I *filehandle -to be -no longer locked by a different thread, then makes the -current thread owner of -.IR *filehandle , -and increments -the lockcount. -.P -The -.BR funlockfile () -function decrements the lock count. -.P -The -.BR ftrylockfile () -function is a nonblocking version -of -.BR flockfile (). -It does nothing in case some other thread -owns -.IR *filehandle , -and it obtains ownership and increments -the lockcount otherwise. -.SH RETURN VALUE -The -.BR ftrylockfile () -function returns zero for success -(the lock was obtained), and nonzero for failure. -.SH ERRORS -None. -.SH ATTRIBUTES -For an explanation of the terms used in this section, see -.BR attributes (7). -.TS -allbox; -lbx lb lb -l l l. -Interface Attribute Value -T{ -.na -.nh -.BR flockfile (), -.BR ftrylockfile (), -.BR funlockfile () -T} Thread safety MT-Safe -.TE -.SH STANDARDS -POSIX.1-2008. -.SH HISTORY -POSIX.1-2001. -.P -These functions are available when -.B _POSIX_THREAD_SAFE_FUNCTIONS -is defined. -.SH SEE ALSO -.BR unlocked_stdio (3) |