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]

Adding madvise function in cygwin with a #define


Testing a linux application that uses "madvise", varnish cache, I have
realized that in cygwin doesnot exists this function but exists the
alternative "posix_madvise".

Adding inside configure.ac script:
+		AC_DEFINE([madvise], [posix_madvise], [In CYGWIN, madvise function
is not defined, instead we use posix_madvise])
+		AC_DEFINE([MADV_RANDOM], [POSIX_MADV_RANDOM], [In CYGWIN,
MADV_RANDOM define is not defined, instead we use POSIX_MADV_RANDOM])

allows compiling successfuly the aplication, without any other source changes.

I think it could be interesting adding this defines to cygwin headers,
at the end of <sys/mman.h> file

#define madvise posix_madvise
#define MADV_NORMAL POSIX_MADV_NORMAL
#define MADV_SEQUENTIAL POSIX_MADV_SEQUENTIAL
#define MADV_RANDOM POSIX_MADV_RANDOM
#define MADV_WILLNEED POSIX_MADV_WILLNEED
#define MADV_DONTNEED POSIX_MADV_DONTNEED

This allows us to make less changes when compiling linux applications.
I have seen that correct POSIX function is "posix_madvise" and
"madvise" is defined in some systems: Linux and FreeBSD but seems
people in this systems prefer use it instead posix_* alternative.

--
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]