Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

msync(2) [osx man page]

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

NAME
msync -- synchronize a mapped region LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <sys/mman.h> int msync(void *addr, size_t len, int flags); DESCRIPTION
The msync() system call writes modified whole pages back to the filesystem and updates the file modification time. Only those pages contain- ing 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: [EBUSY] Some of the specified addresses are locked and MS_INVALIDATE is specified. [EINVAL] addr is not a multiple of the hardware page size. [EINVAL] len is too large, or less than 1. [EINVAL] flags is invalid (e.g., it combines MS_ASYNC with another flag, which is not permitted). [EIO] An I/O error occurs while writing to the file system. [ENOMEM] The specified address range is outside of the address range of the process or includes an unmapped page. LEGACY SYNOPSIS
#include <sys/types.h> #include <sys/mman.h> The include file <sys/types.h> is necessary. SEE ALSO
madvise(2), mincore(2), mprotect(2), munmap(2), compat(5) HISTORY
The msync() function first appeared in 4.4BSD. BSD
June 21, 1994 BSD

Check Out this Related Man Page

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

NAME
msync -- synchronize a mapped region LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <sys/mman.h> int msync(void *addr, size_t len, int flags); DESCRIPTION
The msync() system call writes all pages with shared modifications in the specified region of the process's address space back to permanent storage, and, if requested, invalidates cached data mapped in the region. If len is 0, all modified pages within the region containing addr will be flushed; if len is non-zero, only modified pages containing addr and len succeeding locations will be flushed. Any required synchro- nization of memory caches will also take place at this time. Filesystem operations on a file that is mapped for shared modifications are unpredictable except after an msync(). The flags argument is formed by or'ing the following values MS_ASYNC Perform asynchronous writes. MS_SYNC Perform synchronous writes. MS_INVALIDATE Invalidate cached data after writing. RETURN VALUES
Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error. ERRORS
The following errors may be reported: [EBUSY] The MS_INVALIDATE flag was specified and a portion of the specified region was locked with mlock(2). [EINVAL] The specified flags argument was invalid. [EINVAL] The addr parameter was not page aligned. [EINVAL] The addr parameter did not specify an address part of a mapped region. [EINVAL] The len parameter was negative. [EIO] An I/O error occurred while writing to the file system. [ENOMEM] Addresses in the specified region are outside the range allowed for the address space of the process, or specify one or more pages which are unmapped. SEE ALSO
mlock(2), mmap(2), munlock(2) STANDARDS
The msync() function conforms to IEEE Std 1003.1b-1993 (``POSIX.1'') HISTORY
The msync() function first appeared in 4.4BSD. It was modified to conform to IEEE Std 1003.1b-1993 (``POSIX.1'') in NetBSD 1.3. BSD
October 17, 2005 BSD
Man Page