


     msync_P(rt.os/mfileVSRT 5.1.1 (The	Open Groumsync_P(rt.os/mfiles)



     NAME
	  rt.os/mfiles/msync_P - synchronize memory with physical
	  storage testset

     DESCRIPTION
	  Tests	the msync() function for conformance to	System
	  Interfaces and Headers, Issue	5 Page:	msync().
	  These	tests overlap with those defined for this function in
	  VSU.	They are to be used in the POSIX mode of VSRT to allow
	  standalone testing of	just 1003.1b requirements.

     TESTS
     Compliance
	  1    If _POSIX_MAPPED_FILES and _POSIX_SYNCHRONIZED_IO are
	       defined,	or the implementation supports the msync()
	       function	as defined in System Interfaces	and Headers,
	       Issue 5:
		 A successful call to msync() when flags contains the
		 flag MS_ASYNC shall write all modified	copies of
		 pages in the range [addr,addr+len] to their permanent
		 storage locations using asynchronous writes and
		 return	0.

	  2    If _POSIX_MAPPED_FILES and _POSIX_SYNCHRONIZED_IO are
	       defined,	or the implementation supports the msync()
	       function	as defined in System Interfaces	and Headers,
	       Issue 5:
		 A successful call to msync() when flags contains the
		 flag MS_SYNC shall write all modified copies of pages
		 in the	range [addr,addr+len] to their permanent
		 storage locations using synchronous writes and	return
		 0.

	  3    If _POSIX_MAPPED_FILES and _POSIX_SYNCHRONIZED_IO are
	       defined,	or the implementation supports the msync()
	       function	as defined in System Interfaces	and Headers,
	       Issue 5:
		 A successful call to msync() when flags contains the
		 flag MS_INVALIDATE shall invalidate all cached	copies
		 of all	pages in the range [addr,addr+len] and return
		 0.

	  4    If _POSIX_MAPPED_FILES and _POSIX_SYNCHRONIZED_IO are
	       defined,	or the implementation supports the msync()
	       function	as defined in System Interfaces	and Headers,
	       Issue 5:
		 A call	to msync() when	the mapped file	is written to
		 shall mark the	st_ctime field of the file for update.

	  5    If _POSIX_MAPPED_FILES and _POSIX_SYNCHRONIZED_IO are
	       defined,	or the implementation supports the msync()
	       function	as defined in System Interfaces	and Headers,



     Page 1					    (printed 2/21/103)






     msync_P(rt.os/mfileVSRT 5.1.1 (The	Open Groumsync_P(rt.os/mfiles)



	       Issue 5:
		 A call	to msync() when	the mapped file	is written to
		 shall mark the	st_mtime field of the file for update.

     Deviance
	  6    This asertion is	not in use.

	  7    If _POSIX_MAPPED_FILES and _POSIX_SYNCHRONIZED_IO are
	       defined,	or the implementation supports the msync()
	       function	as defined in System Interfaces	and Headers,
	       Issue 5:
		 A call	to msync() when	pages not mapped are specified
		 shall return -1 and set errno to ENOMEM.

	  8    If _POSIX_MAPPED_FILES and _POSIX_SYNCHRONIZED_IO are
	       defined,	or the implementation supports the msync()
	       function	as defined in System Interfaces	and Headers,
	       Issue 5:
		 A call	to msync() when	flags is invalid shall return
		 -1 and	set errno to EINVAL.

	  9    If _POSIX_MAPPED_FILES or _POSIX_SYNCHRONIZED_IO	are
	       not defined, or the implementation does not support the
	       msync() function	as defined in System Interfaces	and
	       Headers,	Issue 5:
		 A call	to msync() shall return	-1 and set errno to
		 ENOSYS.

     Untestable	Aspects
	  1    If _POSIX_MAPPED_FILES and _POSIX_SYNCHRONIZED_IO are
	       defined,	or the implementation supports the msync()
	       function	as defined in System Interfaces	and Headers,
	       Issue 5:
		 A call	to msync() when	some or	all of the addresses
		 in the	range [addr,addr+len] are invalid for the
		 address space of the process shall return -1 and set
		 errno to ENOMEM.
		 Reason	for omission: There is no portable testmethod
		 for this assertion.

	  2    If _POSIX_MAPPED_FILES and _POSIX_SYNCHRONIZED_IO are
	       defined,	or the implementation supports the msync()
	       function	as defined in System Interfaces	and Headers,
	       Issue 5:
		 A call	to msync() when	addr is	not a multiple of the
		 page size may return -1 and set errno to EINVAL.
		 Reason	for omission: The specification	is inadequate
		 for testing as	it does	not specify the	conditions
		 under which this error	will occur.

	  3    Use of synchronous or asynchronous writes and achieving
	       data integrity file completion on calls to msync().



     Page 2					    (printed 2/21/103)






     msync_P(rt.os/mfileVSRT 5.1.1 (The	Open Groumsync_P(rt.os/mfiles)



	       Reason for omission: It is not possible to determine
	       whether data has	been written to	the file system, in a
	       portable	manner.

     RELEASE
	  Release VSRT 5.1.1
	  Copyright (c)	1997 X/Open Company Ltd., A member of The Open
	  Group.
	  All rights reserved














































     Page 3					    (printed 2/21/103)



