👤
Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

Linux 2.6 - man page for msync (linux section 2)

MSYNC(2)			    Linux Programmer's Manual				 MSYNC(2)

NAME
       msync - synchronize a file with a memory map

SYNOPSIS
       #include <sys/mman.h>

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

DESCRIPTION
       msync()	flushes  changes  made	to the in-core copy of a file that was mapped into memory
       using mmap(2) back to disk.  Without use of this call there is no guarantee  that  changes
       are  written  back  before  munmap(2) is called.  To be more precise, the part of the file
       that corresponds to the memory area starting at addr and having length length is updated.

       The flags argument may have the bits MS_ASYNC, MS_SYNC, and  MS_INVALIDATE  set,  but  not
       both  MS_ASYNC  and MS_SYNC.  MS_ASYNC specifies that an update be scheduled, but the call
       returns immediately.  MS_SYNC asks for an update and waits for it to complete.  MS_INVALI-
       DATE  asks to invalidate other mappings of the same file (so that they can be updated with
       the fresh values just written).

RETURN VALUE
       On success, zero is returned.  On error, -1 is returned, and errno is set appropriately.

ERRORS
       EBUSY  MS_INVALIDATE was specified in flags, and a memory lock exists  for  the	specified
	      address range.

       EINVAL addr  is not a multiple of PAGESIZE; or any bit other than MS_ASYNC | MS_INVALIDATE
	      | MS_SYNC is set in flags; or both MS_SYNC and MS_ASYNC are set in flags.

       ENOMEM The indicated memory (or part of it) was not mapped.

CONFORMING TO
       POSIX.1-2001.

       This call was introduced in Linux 1.3.21, and then used	EFAULT	instead  of  ENOMEM.   In
       Linux 2.4.19 this was changed to the POSIX value ENOMEM.

AVAILABILITY
       On  POSIX  systems on which msync() is available, both _POSIX_MAPPED_FILES and _POSIX_SYN-
       CHRONIZED_IO are defined in <unistd.h> to a value greater than 0.  (See also sysconf(3).)

SEE ALSO
       mmap(2)

       B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128-129 and 389-391.

COLOPHON
       This page is part of release 3.55 of the Linux man-pages project.  A  description  of  the
       project,     and    information	  about    reporting	bugs,	 can	be    found    at
       http://www.kernel.org/doc/man-pages/.

Linux					    2008-04-22					 MSYNC(2)


All times are GMT -4. The time now is 08:28 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password