Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

memcntl(2)

mmap(2)

sysconf(3C)

msync(3C)                                                         msync(3C)

NAME
     msync - synchronize storage

SYNOPSIS
     #include <sys/mman.h>

     int msync(void *addr, sizet len, int flags);

DESCRIPTION
     The function msync() writes all modified copies of pages over the
     range [addr, addr + len) to their backing storage media. msync() can
     invalidate copies, so that further references to the pages are possi-
     ble via the backing storage medium. The backing storage for a modified
     MAPSHARED mapping is the file the page is mapped to; the backing
     storage for a modified MAPPRIVATE mapping is its swap area.

     flags is a bit pattern built from the following values:

     MSASYNC       perform asynchronous writes

     MSSYNC        perform synchronous writes

     MSINVALIDATE  invalidate mappings

     If MSASYNC is set, msync() returns immediately once all write opera-
     tions are scheduled; if MSSYNC is set, msync() does not return until
     all write operations are completed.

     MSINVALIDATE invalidates all cached copies of data in memory, so that
     further references to the pages will be obtained by the system from
     their backing storage locations.

     The effect of msync(addr, len, flags) is equivalent to:

          memcntl(addr, len, MCSYNC, flags, 0, 0)

RESULT
     Upon successful completion, the function msync() returns 0; otherwise,
     it returns -1 and sets errno to indicate the error.

NOTES
     msync() should be used by programs that require a memory object to be
     in a known state, for example, in transaction processing.

SEE ALSO
     memcntl(2), mmap(2), sysconf(3C).









Page 1                       Reliant UNIX 5.44                Printed 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026