File::Sync.3pm

Langue: en

Version: 1999-11-27 (mandriva - 01/05/08)

Section: 3 (Bibliothèques de fonctions)

NAME

File::Sync - Perl access to fsync() and sync() function calls

SYNOPSIS

   use File::Sync qw(fsync sync);
   fsync(\*FILEHANDLE) or die "fsync: $!";
   sync();
 
   use File::Sync qw(fsync);
   use IO::File;
   $fh = IO::File->new("> /tmp/foo") 
       or die "new IO::File: $!";
   ...
   fsync($fh) or die "fsync: $!";
 
 

DESCRIPTION

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.

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 and IO::Handle classes.

NOTES

Doing 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.

AUTHOR

Carey Evans <c.evans@clear.net.nz>

SEE ALSO

perl(1), fsync(2), sync(2), perlvar(1)