This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Adding madvise function in cygwin with a #define
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