Content-type: text/html Man page of msync

msync

Section: System Calls (2)
Index Return to Main Contents
 

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 current 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():  XPG4-UNIX

Refer to the standards(5) reference page for more information about industry standards and associated tags.  

PARAMETERS

Specifies the starting address of the region to be synchronized. 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. 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 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:

[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


 

Index

NAME
SYNOPSIS
STANDARDS
PARAMETERS
DESCRIPTION
RETURN VALUES
ERRORS
RELATED INFORMATION

This document was created by man2html, using the manual pages.
Time: 02:40:12 GMT, October 02, 2010