This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]