Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
MSYNC(2)		  FreeBSD System Calls Manual		      MSYNC(2)

NAME
     msync -- synchronize a mapped region

LIBRARY
     Standard C	Library	(libc, -lc)

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

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

DESCRIPTION
     The msync() system	call writes any	modified pages back to the filesystem
     and updates the file modification time.  If len is	0, all modified	pages
     within the	region containing addr will be flushed;	if len is non-zero,
     only those	pages containing addr and len-1	succeeding locations will be
     examined.	The flags argument may be specified as follows:

     MS_ASYNC	     Return immediately
     MS_SYNC	     Perform synchronous writes
     MS_INVALIDATE   Invalidate	all cached data

RETURN VALUES
     The msync() function returns the value 0 if successful; otherwise the
     value -1 is returned and the global variable errno	is set to indicate the
     error.

ERRORS
     msync() will fail if:

     [EINVAL]		addr is	not a multiple of the hardware page size.

     [EINVAL]		len is too large or negative.

     [EINVAL]		flags was both MS_ASYNC	and MS_INVALIDATE.  Only one
			of these flags is allowed.

     [EIO]		An I/O error occurred while writing to the file	sys-
			tem.

SEE ALSO
     madvise(2), mincore(2), mprotect(2), munmap(2)

HISTORY
     The msync() function first	appeared in 4.4BSD.

FreeBSD	9.3			 June 21, 1994			   FreeBSD 9.3

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<http://www.freebsd.org/cgi/man.cgi?query=msync&sektion=2&manpath=FreeBSD+4.7-RELEASE>

home | help