Subject: Re: inn and mmap()ing the active file
To: None <current-users@NetBSD.ORG>
From: Tom Pavel <pavel@MAILBOX.SLAC.Stanford.EDU>
List: current-users
Date: 08/14/1995 11:38:00
With all this attention upon msync(), I was wondering why the NetBSD
prototype/signature for msync() differs from most other systems.  On
NetBSD, <sys/mman.h> contains:
	int     msync __P((caddr_t, size_t));
Whereas, on SunOS, AIX, HP/UX, OSF/1, I see (basically):
	int     msync(const caddr_t addr, size_t len, int flags);

The third argument is generally a combination of the following flags:
	MS_SYNC         /* wait until I/O is complete */
	MS_ASYNC        /* perform I/O asynchronously */
	MS_INVALIDATE   /* invalidate pages after I/O done */

I guess the NetBSD msync() doesn't have the various modes of behavior
associated with these 3 flags.  Nevertheless, doesn't it seem like a
good idea to conform to the 3-argument interface for msync(), even if
there isn't a published standard demanding it?


Tom Pavel

Stanford Linear Accelerator Center
pavel@slac.stanford.edu                 http://www.slac.stanford.edu/~pavel/