*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->FreeBSD man pages -> ftrylockfile (3)              



NAME    [Toc]    [Back]

     flockfile, ftrylockfile, funlockfile -- stdio locking functions

LIBRARY    [Toc]    [Back]

     Standard C Library (libc, -lc)

SYNOPSIS    [Toc]    [Back]

     #include <stdio.h>

     flockfile(FILE *stream);

     ftrylockfile(FILE *stream);

     funlockfile(FILE *stream);

DESCRIPTION    [Toc]    [Back]

     These functions provide explicit application-level locking of stdio
     streams.  They can be used to avoid output from multiple threads being
     interspersed, input being dispersed among multiple readers, and to avoid
     the overhead of locking the stream for each operation.

     The flockfile() function acquires an exclusive lock on the specified
     stream.  If another thread has already locked the stream, flockfile()
     will block until the lock is released.

     The ftrylockfile() function is a non-blocking version of flockfile(); if
     the lock cannot be acquired immediately, ftrylockfile() returns non-zero
     instead of blocking.

     The funlockfile() function releases the lock on a stream acquired by an
     earlier call to flockfile() or ftrylockfile().

     These functions behave as if there is a lock count associated with each
     stream.  Each time flockfile() is called on the stream, the count is
     incremented, and each time funlockfile() is called on the stream, the
     count is decremented.  The lock is only actually released when the count
     reaches zero.

RETURN VALUES    [Toc]    [Back]

     The flockfile() and funlockfile() functions return no value.

     The ftrylockfile() function returns zero if the stream was successfully
     locked, non-zero otherwise.

SEE ALSO    [Toc]    [Back]

     getc_unlocked(3), putc_unlocked(3)

STANDARDS    [Toc]    [Back]

     The flockfile(), ftrylockfile() and funlockfile() functions conform to
     IEEE Std 1003.1-2001 (``POSIX.1'').

FreeBSD 5.2.1		       January 10, 2003 		 FreeBSD 5.2.1
[ Back ]
 Similar pages
Name OS Title
funlockfile OpenBSD application level locking of stdio files
flockfile OpenBSD application level locking of stdio files
ftrylockfile OpenBSD application level locking of stdio files
flockfile IRIX stdio synchronization functions
stdio Tru64 locking functions
flockfile Tru64 locking functions
ftrylockfilefunlockfile Tru64 locking functions
stdiobuf IRIX iostream specialized to stdio FILE
setbuf IRIX assign buffering to a stream logical unit FORTRAN SYNOPSIS #include character *(BUFSIZ+8) buf intege
vm_map_unlock_read FreeBSD vm_map locking macros
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service