*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> msync (2)              
Title
Content
Arch
Section
 

msync(2)

Contents


NAME    [Toc]    [Back]

       msync - Synchronize a mapped file

SYNOPSIS    [Toc]    [Back]

       #include <sys/mman.h>

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

       The  following  function  declaration  does not conform to
       current industry standards and is supported only for backward
   compatibility:   #include   <sys/types.h>  #include
       <sys/mman.h>

       int msync(
               caddr_t addr,
               size_t len,
               int flags );

STANDARDS    [Toc]    [Back]

       Interfaces documented on this reference  page  conform  to
       industry standards as follows:

       msync(): XSH4.2, XSH5.0

       Refer to the standards(5) reference page for more information
 about industry standards and associated tags.

PARAMETERS    [Toc]    [Back]

       Specifies the starting address of the region  to  be  synchronized.
  Specifies the length in bytes of the region to
       be synchronized. This parameter must be a multiple of  the
       page  size  as returned by sysconf(_SC_PAGE_SIZE).  If len
       is not  a  multiple  of  the  page  size  as  returned  by
       sysconf(_SC_PAGE_SIZE),  the  length of the region will be
       rounded up to the next multiple of the page size.   Specifies
  one  of  the following symbolic constants defined in
       the <sys/mman.h> file:  Specifies  an  asynchronous  cache
       flush.  The  msync()  function  returns  after  the system
       schedules all write operations.  Specifies  a  synchronous
       cache flush. The msync() function returns after the system
       completes all write  operations.   Specifies  invalidating
       all cached pages. New copies of the pages must be obtained
       from the file system the next time they are referenced.

DESCRIPTION    [Toc]    [Back]

       The msync() function controls the caching operations of  a
       mapped  file  region.  The msync() function can be used to
       ensure that modified pages in the region  are  transferred
       to  the file's underlying storage device. (However, normal
       system activity can cause pages to be written to a storage
       device,  so  there  is  no  guarantee  that  a call to the
       msync() function is the only control over when  pages  are
       written.)  You  can  also  use the function to control the
       visibility of modifications with respect  to  file  system
       operations.

       After  a  successful call to the msync() function with the
       flags parameter set to MS_SYNC, all previous modifications
       to  the  mapped  region are visible to processes using the
       read() function. Previous modifications to the file  using
       the write() function might be lost.

       After  a  successful call to the msync() function with the
       flags parameter set to MS_INVALIDATE, all previous modifications
 to the file using the write() function are visible
       to the mapped region. Previous direct modifications to the
       mapped region might be lost.

RETURN VALUES    [Toc]    [Back]

       Upon successful completion, the msync() function returns 0
       (zero). Otherwise, the msync()  function  returns  -1  and
       sets errno to indicate the error.

ERRORS    [Toc]    [Back]

       The  msync()  function  sets errno to the specified values
       for the following conditions:

       Some or all of the addresses in the range starting at addr
       and continuing for len bytes are locked, and MS_INVALIDATE
       is specified.  [Tru64 UNIX]  The range [addr, addr +  len)
       includes  an invalid address.  One of the following conditions
 applies: The addr parameter is not a multiple of the
       page  size  as  returned  by  sysconf(_SC_PAGE_SIZE).  The
       flags parameter is invalid.  [Tru64  UNIX]  An  I/O  error
       occurred while reading from or writing to the file system.
       The range specified by [addr, addr + len) is invalid for a
       process' address space, or the range specifies one or more
       unmapped pages.

SEE ALSO    [Toc]    [Back]

      
      
       Functions:   fsync(2),   mmap(2),    read(2),    write(2),
       sysconf(3)

       Standards: standards(5)



                                                         msync(2)
[ Back ]
 Similar pages
Name OS Title
msync HP-UX synchronize the memory of a mapped file with physical storage
msync OpenBSD synchronize a mapped region
msync NetBSD synchronize a mapped region
msync FreeBSD synchronize a mapped region
msem_remove HP-UX remove a semaphore in mapped file or anonymous region
msem_init Tru64 Initialize a semaphore in a mapped file or shared memory region
msem_init HP-UX initialize a semaphore in a mapped file or anonymous memory region
sync HP-UX synchronize file systems
msync Linux synchronize a file with a memory map
fdatasync NetBSD synchronize the data of a file
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service