On Jan 12 13:03, jdzstz - gmail dot com wrote: > Maybe an implementation option could be: > > 1) Standard advices that only has a influence in application > performance, can be executed as current posix_madvise, checking only > the parameters and doing nothing => MADV_NORMAL, MADV_SEQUENTIAL, > MADV_RANDOM, MADV_REMOVE, MADV_WILLNEED, MADV_DONTNEED > > 2) Rest of advices, that can modify the behaviour of application and > generate errors or security problems, so madvise returns always > "EINVAL" (as you said in your mail) : MADV_REMOVE, MADV_DONTFORK, > MADV_DOFORK, MADV_HWPOISON, MADV_SOFT_OFFLINE, MADV_MERGEABLE, > MADV_UNMERGEABLE > > To reduce problems with applications that uses advises of list number > 2, this constants would be undefined, so if the aplication code make > for example an "madvise(p, sz, MADV_DONTFORK)" at least, the problem > will be detected at compilation time.
Well, ok. Since that makes madvise basically identical to posix_madvise, I just exported posix_madvise as madvise as well. The constants are defined in sys/mman.h as you proposed. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple