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 synchronization 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.