fsync()

Synchronize the file state

Synopsis:

#include <unistd.h>

int fsync( int filedes );

Arguments:

filedes
The descriptor for the file that you want to synchronize.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The fsync() function forces all queued I/O operations for the file specified by the filedes file descriptor to finish, synchronizing the file's state. The function blocks until this is finished. For more information about synchronizing, see " Filesystems and block I/O (devb-*) drivers " in the Fine-Tuning Your System chapter of the BlackBerry 10 OS User's Guide.

Although similar to fdatasync() , fsync() also guarantees the integrity of file information such as access and modification times.

Returns:

0 for success, or -1 if an error occurs ( errno is set).

Errors:

EBADF
The filedes argument isn't a valid file descriptor open for writing.
EINVAL
The implementation doesn't support synchronized I/O for the given file.
ENOSYS
The fsync() function isn't supported for the filesystem specified by filedes.

Classification:

POSIX 1003.1 FSC

Safety:  
Cancellation point Yes
Interrupt handler No
Signal handler Yes
Thread Yes

Last modified: 2013-12-23

comments powered by Disqus