Home
Search all pages
Subjects
By activity
Professions, Sciences, Humanities, Business, ...
User Interface
Text-based, GUI, Audio, Video, Keyboards, Mouse, Images,...
Text Strings
Conversions, tests, processing, manipulation,...
Math
Integer, Floating point, Matrix, Statistics, Boolean, ...
Processing
Algorithms, Memory, Process control, Debugging, ...
Stored Data
Data storage, Integrity, Encryption, Compression, ...
Communications
Networks, protocols, Interprocess, Remote, Client Server, ...
Hard World Timing, Calendar and Clock, Audio, Video, Printer, Controls...
File System
Management, Filtering, File & Directory access, Viewers, ...
|
|
|
RocketLink!--> Man page versions:
OpenBSD
FreeBSD
NetBSD
RedHat
Others
MSYNC(2) OpenBSD Programmer's Manual MSYNC(2)
NAME
msync - synchronize a mapped region
SYNOPSIS
#include <sys/types.h>
#include <sys/mman.h>
int
msync(void *addr, size_t len, int flags);
DESCRIPTION
The msync() system call writes all pages with shared modifications in the
specified region of the process's address space back to permanent stor-
age, 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-1 succeeding locations will be flushed. Any required synchronization
of memory caches will also take place at this time. Filesystem opera-
tions 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.
RETURN VALUES
Upon successful completion, a value of 0 is returned. Otherwise, a value
of -1 is returned and errno is set to indicate the error.
ERRORS
The following errors may be reported:
[EBUSY] The MS_INVALIDATE flag was specified and a portion of the
specified region was locked with mlock(2).
[EINVAL] The specified flags argument was invalid.
[EINVAL] The addr parameter was not page aligned.
[ENOMEM] Addresses in the specified region are outside the range al-
lowed for the address space of the process, or specify one
or more pages which are unmapped.
[EIO] An I/O error occurred while writing.
BUGS
Writes are currently done synchronously even if the MS_ASYNC flag is
specified.
SEE ALSO
madvise(2), mincore(2), minherit(2), mprotect(2), munmap(2)
HISTORY
The msync() function first appeared in 4.4BSD. It was modified to conform
to IEEE Std1003.1b-1993 (``POSIX'')
OpenBSD 2.6 October 10, 1997 1
Source: OpenBSD 2.6 man pages. Copyright: Portions are copyrighted by BERKELEY SOFTWARE DESIGN, INC., The Regents of the University of California, Massachusetts Institute of Technology, Free Software Foundation, FreeBSD Inc., and others. |
(Corrections, notes, and links courtesy of RocketAware.com)
Up to: Memory blocks (Sometimes called "Byte Strings") - Memory blocks. Allocated, shared, mmaped, kernel et al
RocketLink!--> Man page versions:
OpenBSD
FreeBSD
NetBSD
RedHat
Others
Rapid-Links:
Search | About | Comments | Submit Path: RocketAware > man pages >
msync.2/
RocketAware.com is a service of Mib Software Copyright 1999, Forrest J. Cavalier III. All Rights Reserved. We welcome submissions and comments
|