aio_fsync(3p) - phpMan

Command: man perldoc info search(apropos)  


AIO_FSYNC(P)                                                      AIO_FSYNC(P)



NAME
       aio_fsync - asynchronous file synchronization (REALTIME)

SYNOPSIS
       #include <aio.h>

       int aio_fsync(int op, struct aiocb *aiocbp);


DESCRIPTION
       The  aio_fsync()  function shall asynchronously force all I/O operations associated
       with the file indicated by the file  descriptor  aio_fildes  member  of  the  aiocb
       structure  referenced  by the aiocbp argument and queued at the time of the call to
       aio_fsync() to the synchronized I/O  completion  state.  The  function  call  shall
       return when the synchronization request has been initiated or queued to the file or
       device (even when the data cannot be synchronized immediately).

       If op is O_DSYNC, all currently queued I/O operations shall be completed as if by a
       call  to  fdatasync(); that is, as defined for synchronized I/O data integrity com-
       pletion. If op is O_SYNC, all currently queued I/O operations shall be completed as
       if  by  a  call to fsync(); that is, as defined for synchronized I/O file integrity
       completion. If the aio_fsync() function  fails,  or  if  the  operation  queued  by
       aio_fsync() fails, then, as for fsync() and fdatasync(), outstanding I/O operations
       are not guaranteed to have been completed.

       If aio_fsync() succeeds, then it is only the I/O that was queued at the time of the
       call  to  aio_fsync()  that  is  guaranteed to be forced to the relevant completion
       state. The completion of subsequent I/O on the file descriptor is not guaranteed to
       be completed in a synchronized fashion.

       The  aiocbp argument refers to an asynchronous I/O control block.  The aiocbp value
       may be used as an argument to aio_error() and aio_return() in  order  to  determine
       the  error  status  and  return status, respectively, of the asynchronous operation
       while it is proceeding. When the request is queued, the error status for the opera-
       tion  is [EINPROGRESS].  When all data has been successfully transferred, the error
       status shall be reset to reflect the success or failure of the operation.   If  the
       operation  does not complete successfully, the error status for the operation shall
       be set to indicate the error.  The aio_sigevent member determines the  asynchronous
       notification to occur as specified in Signal Generation and Delivery when all oper-
       ations have achieved synchronized I/O completion. All other members of  the  struc-
       ture  referenced  by aiocbp are ignored.  If the control block referenced by aiocbp
       becomes an illegal address prior to asynchronous I/O completion, then the  behavior
       is undefined.

       If  the  aio_fsync() function fails or aiocbp indicates an error condition, data is
       not guaranteed to have been successfully transferred.

RETURN VALUE
       The aio_fsync() function shall return the value 0 to the calling process if the I/O
       operation is successfully queued; otherwise, the function shall return the value -1
       and set errno to indicate the error.

ERRORS
       The aio_fsync() function shall fail if:

       EAGAIN The requested  asynchronous  operation  was  not  queued  due  to  temporary
              resource limitations.

       EBADF  The  aio_fildes member of the aiocb structure referenced by the aiocbp argu-
              ment is not a valid file descriptor open for writing.

       EINVAL This implementation does not support synchronized I/O for this file.

       EINVAL A value of op other than O_DSYNC or O_SYNC was specified.


       In the event that any of the queued I/O operations fail, aio_fsync()  shall  return
       the  error  condition defined for read() and write().  The error is returned in the
       error status for the asynchronous fsync() operation, which can be  retrieved  using
       aio_error().

       The following sections are informative.

EXAMPLES
       None.

APPLICATION USAGE
       The  aio_fsync()  function  is part of the Asynchronous Input and Output option and
       need not be available on all implementations.

RATIONALE
       None.

FUTURE DIRECTIONS
       None.

SEE ALSO
       fcntl() , fdatasync() , fsync() , open() , read() , write() , the Base  Definitions
       volume of IEEE Std 1003.1-2001, <aio.h>

COPYRIGHT
       Portions of this text are reprinted and reproduced in electronic form from IEEE Std
       1003.1, 2003 Edition, Standard for Information  Technology  --  Portable  Operating
       System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C)
       2001-2003 by the Institute of Electrical and Electronics  Engineers,  Inc  and  The
       Open  Group.  In the event of any discrepancy between this version and the original
       IEEE and The Open Group Standard, the original IEEE and The Open Group Standard  is
       the   referee   document.   The   original  Standard  can  be  obtained  online  at
       http://www.opengroup.org/unix/online.html .



POSIX                                2003                         AIO_FSYNC(P)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache/1.3.41 (Unix) PHP/5.2.5 mod_perl/1.30 mod_gzip/1.3.26.1a
Under GNU General Public License
2009-01-08 07:53 @38.103.63.58 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Valid XHTML 1.0!Valid CSS!