Manual Reference Pages - FILE::SYNC (3)
File::Sync - Perl access to fsync() and sync() function calls
use File::Sync qw(fsync sync);
fsync(\*FILEHANDLE) or die "fsync: $!";
# and if fdatasync() is available on your system:
fdatasync($fh) or die "fdatasync: $!";
use File::Sync qw(fsync);
$fh = new FileHandle("> /tmp/foo")
or die "new FileHandle: $!";
$fh->fsync() or die "fsync: $!";
The fsync() function takes a Perl file handle as its only argument, and
passes its fileno() to the C function fsync(). It returns undef on
failure, or true on success. fdatasync() is identical in return value,
but it calls C fdatasync() instead of fsync(), synchronizing only the
data in the file, not the metadata.
The fsync_fd() function is used internally by fsync(); it takes a file
descriptor as its only argument.
The sync() function is identical to the C function sync().
This module does <B>notB> export any methods by default, but fsync()
is made available as a method of the FileHandle class. Note carefully
that as of 0.11, we no longer clobber anything in IO::Handle. You
can replace any calls to IO::Handle::fsync() with IO::Handle::sync():
Doing fsync() if the stdio buffers arent flushed (with $| or the
autoflush method) is probably pointless.
Calling sync() too often on a multi-user system is slightly antisocial.
Carey Evans <email@example.com>
perl(1), fsync(2), sync(2), perlvar(1)
|perl v5.20.3 ||SYNC (3) ||2011-11-19 |
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.