Index Index for
Section 2
Index Alphabetical
listing for M
Bottom of page Bottom of
page

msync(2)

NAME

msync - Synchronize a mapped file

SYNOPSIS

#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

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

addr Specifies the starting address of the region to be synchronized. len 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. flags Specifies one of the following symbolic constants defined in the <sys/mman.h> file: MS_ASYNC Specifies an asynchronous cache flush. The msync() function returns after the system schedules all write operations. MS_SYNC Specifies a synchronous cache flush. The msync() function returns after the system completes all write operations. MS_INVALIDATE Specifies invalidating all cached pages. New copies of the pages must be obtained from the file system the next time they are referenced.

DESCRIPTION

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

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

ERRORS

The msync() function sets errno to the specified values for the following conditions: [EBUSY] Some or all of the addresses in the range starting at addr and continuing for len bytes are locked, and MS_INVALIDATE is specified. [EFAULT] [Tru64 UNIX] The range [addr, addr + len) includes an invalid address. [EINVAL] 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. [EIO] [Tru64 UNIX] An I/O error occurred while reading from or writing to the file system. [ENOMEM] 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

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

Index Index for
Section 2
Index Alphabetical
listing for M
Top of page Top of
page