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

FreeBSD Manual Pages

  
 
  

home | help
MSYNC(2)		   Linux Programmer's Manual		      MSYNC(2)

NAME
       msync - synchronize a file with a memory	map

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

       #ifdef _POSIX_MAPPED_FILES
       #ifdef _POSIX_SYNCHRONIZED_IO

       int msync(const void *start, size_t length, int flags);

       #endif
       #endif

DESCRIPTION
       msync  flushes  changes	made  to  the  in-core copy of a file that was
       mapped into memory using	mmap(2)	back to	disk.	Without	 use  of  this
       call  there  is	no guarantee that changes are written back before mun-
       map(2) is called.  To be	more precise, the part of the file that	corre-
       sponds to the memory area starting at start and having length length is
       updated.	 The flags argument may	have the bits  MS_ASYNC,  MS_SYNC  and
       MS_INVALIDATE  set, but not both	MS_ASYNC and MS_SYNC.  MS_ASYNC	speci-
       fies that an update be scheduled, but  the  call	 returns  immediately.
       MS_SYNC asks for	an update and waits for	it to complete.	 MS_INVALIDATE
       asks to invalidate other	mappings of the	same file (so that they	can be
       updated with the	fresh values just written).

RETURN VALUE
       On  success,  zero is returned.	On error, -1 is	returned, and errno is
       set appropriately.

ERRORS
       EINVAL start is not a multiple of  PAGESIZE,  or	 any  bit  other  than
	      MS_ASYNC | MS_INVALIDATE | MS_SYNC is set	in flags.

       EFAULT The indicated memory (or part of it) was not mapped.

CONFORMING TO
       POSIX.1b	(formerly POSIX.4)

SEE ALSO
       mmap(2),	 B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128-129 and 389-391.

Linux 1.3.86			  1996-04-12			      MSYNC(2)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | CONFORMING TO | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=msync&sektion=2&manpath=Red+Hat+Linux%2fi386+9>

home | help