GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
FLOCKFILE(3) FreeBSD Library Functions Manual FLOCKFILE(3)

flockfile, ftrylockfile, funlockfile
stdio locking functions

Standard C Library (libc, -lc)

#include <stdio.h>

void
flockfile(FILE *stream);

int
ftrylockfile(FILE *stream);

void
funlockfile(FILE *stream);

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.

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

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

getc_unlocked(3), putc_unlocked(3)

The flockfile(), ftrylockfile() and funlockfile() functions conform to IEEE Std 1003.1-2001 (“POSIX.1”).
January 10, 2003 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.