icon Top 9 categories map      RocketAware > man pages >


Tips: Browse or Search all pages for efficient awareness of more than 6000 of the most popular reusable and open source applications, functions, libraries, and FAQs.

The "RKT couplings" below include links to source code, updates, additional information, advice, FAQs, and overviews.


Search all pages


By activity
Professions, Sciences, Humanities, Business, ...

User Interface
Text-based, GUI, Audio, Video, Keyboards, Mouse, Images,...

Text Strings
Conversions, tests, processing, manipulation,...

Integer, Floating point, Matrix, Statistics, Boolean, ...

Algorithms, Memory, Process control, Debugging, ...

Stored Data
Data storage, Integrity, Encryption, Compression, ...

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)

     msync - synchronize a mapped region

     #include <sys/types.h>
     #include <sys/mman.h>

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

     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.

     Upon successful completion, a value of 0 is returned.  Otherwise, a value
     of -1 is returned and errno is set to indicate the error.

     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.

     Writes are currently done synchronously even if the MS_ASYNC flag is

     madvise(2),  mincore(2),  minherit(2),  mprotect(2),  munmap(2)

     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)

[Detailed Topics]

[Overview Topics]

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