unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



msync(2)							     msync(2)



NAME

  msync	- Synchronizes a mapped	file

SYNOPSIS

  #include <&lt;sys/mman.h>&gt;

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

  The following	function declaration does not conform to current standards
  and is supported only	for backward compatibility:

  #include <&lt;sys/types.h>&gt;
  #include <&lt;sys/mman.h>&gt;

  int msync(
	  caddr_t addr,
	  size_t len,
	  int flags);

STANDARDS

  Interfaces documented	on this	reference page conform to industry standards
  as follows:

  msync(): XSH5.0

  Refer	to the standards(5) reference page for more information	about indus-
  try standards	and associated tags.

PARAMETERS

  addr	    Specifies the starting address of the region to be synchronized.

  len	    Specifies the length in bytes of the region	to be synchronized.
	    This parameter must	be a multiple of the page size as returned by
	    sysconf(_SC_PAGE_SIZE).  If	len is not a multiple of the page
	    size as returned by	sysconf(_SC_PAGE_SIZE),	the length of the
	    region will	be rounded up to the next multiple of the page size.

  flags	    Specifies one of the following symbolic constants defined in the
	    sys/mman.h file:

	    MS_ASYNC  Specifies	an asynchronous	cache flush.  The msync()
		      function returns after the system	schedules all write
		      operations.

	    MS_SYNC   Specifies	a synchronous cache flush.  The	msync()	func-
		      tion returns after the system completes all write
		      operations.

	    MS_INVALIDATE
		      Specifies	invalidating all cached	pages.	New copies of
		      the pages	must be	obtained from the file system the
		      next time	they are referenced.

DESCRIPTION

  The msync() function controls	the caching operations of a mapped file
  region.  The msync() function	can be used to ensure that modified pages in
  the region are transferred to	the file's underlying storage device.  (How-
  ever,	normal system activity can cause pages to be written to	a storage
  device, so there is no guarantee that	a call to the msync() function is the
  only control over when pages are written.) You can also use the function to
  control the visibility of modifications with respect to file system opera-
  tions.

  After	a successful call to the msync() function with the flags parameter
  set to MS_SYNC, all previous modifications to	the mapped region are visible
  to processes using the read()	function. Previous modifications to the	file
  using	the write() function might be lost.

  After	a successful call to the msync() function with the flags parameter
  set to MS_INVALIDATE,	all previous modifications to the file using the
  write() function are visible to the mapped region.  Previous direct modifi-
  cations to the mapped	region might be	lost.

RETURN VALUES

  Upon successful completion, the msync() function returns 0 (zero).  Other-
  wise,	the msync() function returns -1	and sets errno to indicate the error.

ERRORS

  The msync() function sets errno to the specified values for the following
  conditions:

  [EBUSY]   Some or all	of the addresses in the	range starting at addr and
	    continuing for len bytes are locked, and MS_INVALIDATE is speci-
	    fied.

  [EFAULT]  [Tru64 UNIX]  The range [addr, addr	+ len) includes	an invalid
	    address.

  [EINVAL]  The	addr parameter is not a	multiple of the	page size as returned
	    by sysconf(_SC_PAGE_SIZE).

  [EIO]	    An I/O error occurred while	reading	from or	writing	to the file
	    system.

  [ENOMEM]  The	range specified	by [addr, addr + len) is invalid for a pro-
	    cess' address space, or the	range specifies	one or more unmapped
	    pages.

RELATED	INFORMATION

  Functions: fsync(2), mmap(2),	read(2), write(2)

  Routines: sysconf(3)

  Standards: standards(5)