msync(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

msync(3c)

Standard C Library Functions                                         msync(3C)



NAME
       msync - synchronize memory with physical storage

SYNOPSIS
       #include <sys/mman.h>

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

DESCRIPTION
       The msync() function writes all modified copies of pages over the range
       [addr, addr + len) to  the  underlying  hardware,  or  invalidates  any
       copies  so that further references to the pages will be obtained by the
       system from their permanent storage locations.  The  permanent  storage
       for  a  modified  MAP_SHARED mapping is the file the page is mapped to;
       the permanent storage for a modified MAP_PRIVATE mapping  is  its  swap
       area.


       The flags argument is a bit pattern built from the following values:

       MS_ASYNC         perform asynchronous writes


       MS_SYNC          perform synchronous writes


       MS_INVALIDATE    invalidate mappings



       If  flags  is  MS_ASYNC  or MS_SYNC, the function synchronizes the file
       contents to match the current contents of the memory region.

           o      All write references to the memory region made prior to  the
                  call are visible by subsequent read operations on the file.


           o      All writes to the same portion of the file prior to the call
                  may or may not be visible by read references to  the  memory
                  region.


           o      Unmodified  pages  in the specified range are not written to
                  the underlying hardware.



       If flags is MS_ASYNC, the function  may  return  immediately  once  all
       write  operations are scheduled; if flags is MS_SYNC, the function does
       not return until all write operations are completed.


       If flags is MS_INVALIDATE, the function synchronizes  the  contents  of
       the memory region to match the current file contents.

           o      All  writes  to the mapped portion of the file made prior to
                  the call are visible by subsequent read  references  to  the
                  mapped memory region.


           o      All  write  references prior to the call, by any process, to
                  memory regions mapped to the same portion of the file  using
                  MAP_SHARED, are visible by read references to the region.



       If  msync()  causes any write to the file, then the file's st_ctime and
       st_mtime fields are marked for update.

RETURN VALUES
       Upon successful completion, msync() returns 0; otherwise, it returns −1
       and sets errno to indicate the error.

ERRORS
       The msync() function will fail if:

       EBUSY     Some  or all of the addresses in the range [addr, addr + len)
                 are locked and MS_SYNC with the MS_INVALIDATE option is spec‐
                 ified.


       EAGAIN    Some  or all pages in the range [addr, addr + len) are locked
                 for I/O.


       EINVAL    The addr argument is not a  multiple  of  the  page  size  as
                 returned by sysconf(3C).

                 The  flags  argument  is not some combination of MS_ASYNC and
                 MS_INVALIDATE.


       EIO       An I/O error occurred while reading from or  writing  to  the
                 file system.


       ENOMEM    Addresses  in  the  range  [addr, addr + len) are outside the
                 valid range for the address space of a  process,  or  specify
                 one or more pages that are not mapped.


       EPERM     MS_INVALIDATE  was  specified and one or more of the pages is
                 locked in memory.


USAGE
       The msync() function should be used by programs that require  a  memory
       object  to  be  in  a  known state, for example in building transaction
       facilities.


       Normal system activity can cause pages to be written  to  disk.  There‐
       fore,  there  are  no  guarantees that msync() is the only control over
       when pages are or are not written to disk.

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE  VALUE _ Interface StabilityCommitted _ MT-LevelMT-Safe _ Stan‐
       dardSee standards(7).


SEE ALSO
       memcntl(2), mmap(2), sysconf(3C), attributes(7), standards(7)



Oracle Solaris 11.4               24 Jul 2002                        msync(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3