 |
Index for Section 2 |
|
 |
Alphabetical listing for M |
|
 |
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 for Section 2 |
|
 |
Alphabetical listing for M |
|
 |
Top of page |
|