msync(3C) msync(3C)
NAME
msync - synchronize memory with physical storage
SYNOPSIS
#include <sys/types.h>
#include <sys/mman.h>
int msync(caddr_t addr, size_t len, int flags);
DESCRIPTION
The function msync writes all modified copies of pages over
the range [addr, addr + len) to their backing storage
locations. msync optionally invalidates any copies so that
further references to the pages will be obtained by the system
from their backing storage locations. The backing storage for
a modified MAP_SHARED mapping is the file the page is mapped
to; the backing storage for a modified MAP_PRIVATE mapping is
its swap area.
flags is a bit pattern built from the following values:
MS_ASYNC perform asynchronous writes
MS_SYNC perform synchronous writes
MS_INVALIDATE
invalidate mappings
If MS_ASYNC is set, msync returns immediately once all write
operations are scheduled; if MS_SYNC is set, msync does not
return until all write operations are completed.
MS_INVALIDATE 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, MC_SYNC, flags, 0, 0)
Return Values
Upon successful completion, the function msync returns 0;
otherwise, it returns -1 and sets errno to indicate the error.
Copyright 1994 Novell, Inc. Page 1
msync(3C) msync(3C)
REFERENCES
memcntl(2), mmap(2), sysconf(3C)
NOTICES
msync should be used by programs that require a memory object
to be in a known state, for example, in building transaction
facilities.
Copyright 1994 Novell, Inc. Page 2