unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Darwin-7.0.1-ppc)
Page:
Section:
Apropos / Subsearch:
optional field

MSYNC(2)                    BSD System Calls Manual                   MSYNC(2)

NAME
     msync -- synchronize a mapped region

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <&lt;sys/types.h>&gt;
     #include <&lt;sys/mman.h>&gt;

     int
     msync(void *addr, size_t len, int flags);

DESCRIPTION
     The msync() system call writes modified whole pages back to the filesys-
     tem and updates the file modification time.  Only those pages containing
     addr and len-1 succeeding locations will be examined.  The flags argument
     may be specified as follows:

     MS_ASYNC        Return immediately
     MS_SYNC         Perform synchronous writes
     MS_INVALIDATE   Invalidate all cached data

     The MS_ASYNC flag is not permitted to be combined with other flags.

RETURN VALUES
     If any errors occur, -1 is returned and errno is set to indicate the
     error.  Otherwise, a 0 value is returned.

ERRORS
     msync() will fail if:

     [EINVAL]           addr is not a multiple of the hardware page size.

     [EINVAL]           len is too large, or less than 1.

     [EINVAL]           flags combined MS_ASYNC with another flag, which is
                        not permitted.

     [EIO]              An I/O error occurred while writing to the file sys-
                        tem.

SEE ALSO
     madvise(2), mincore(2), mprotect(2), munmap(2)

HISTORY
     The msync() function first appeared in 4.4BSD.

BSD                              June 21, 1994                             BSD