![]() |
![]()
| ![]() |
![]()
NAMEFile::Sync - Perl access to fsync() and sync() function calls SYNOPSISuse File::Sync qw(fsync sync); sync(); fsync(\*FILEHANDLE) or die "fsync: $!"; # and if fdatasync() is available on your system: fdatasync($fh) or die "fdatasync: $!"; use File::Sync qw(fsync); use FileHandle; $fh = new FileHandle("> /tmp/foo") or die "new FileHandle: $!"; ... $fh->fsync() or die "fsync: $!"; DESCRIPTIONThe 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 not 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():
NOTESDoing fsync() if the stdio buffers aren't flushed (with $| or the autoflush method) is probably pointless. Calling sync() too often on a multi-user system is slightly antisocial. AUTHORCarey Evans <c.evans@clear.net.nz> SEE ALSOperl(1), fsync(2), sync(2), perlvar(1)
|