Manual Page Result
0
Command: msync | Section: 2 | Source: Digital UNIX | File: msync.2.gz
msync(2) System Calls Manual msync(2)
NAME
msync - Synchronizes a mapped file
SYNOPSIS
#include <sys/mman.h>
int msync(
void *addr,
size_t len,
int flags);
[Digital] The following function declaration does not conform to cur-
rent 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 stan-
dards as follows:
msync(): XPG4-UNIX
Refer to the standards(5) reference page for more information about in-
dustry standards and associated tags.
PARAMETERS
Specifies the starting address of the region to be synchronized. Spec-
ifies the length in bytes of the region to be synchronized. This para-
meter 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 only 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
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 parame-
ter 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 parame-
ter 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 follow-
ing conditions:
[Digital] The range [addr, addr + len) includes an invalid address.
The addr parameter is not a multiple of the page size as returned by
sysconf(_SC_PAGE_SIZE). 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.
RELATED INFORMATION
Functions: fsync(2), mmap(2), read(2), write(2)
Routines: sysconf(3)
Standards: standards(5) delim off
msync(2)