msync man page on MirBSD

Man page or keyword search:  
man Server   6113 pages
apropos Keyword Search (all sections)
Output format
MirBSD logo
[printable version]

MSYNC(2)		   BSD 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
     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-1 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 ex-
     cept 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.

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 Std 1003.1b-1993 ("POSIX")

BUGS
     Writes are currently done synchronously even if the MS_ASYNC flag is
     specified.

MirOS BSD #10-current	       October 10, 1997				     1
[top]

List of man pages available for MirBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net