Adding madvise function in cygwin with a #define

Eric Blake
Tue Jan 11 14:56:00 GMT 2011

On 01/11/2011 04:13 AM, jdzstz - gmail dot com wrote:
> 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 script:
> +		AC_DEFINE([madvise], [posix_madvise], [In CYGWIN, madvise function
> is not defined, instead we use posix_madvise])
> MADV_RANDOM define is not defined, instead we use POSIX_MADV_RANDOM])

madvise is more powerful than posix_madvise; while this workaround may
have let you get varnish working, it is not a panacea for all clients of
madvise.  You are better off filing a bug report against varnish that
they should either use the POSIX interface, or add a configure-time
check for the presence of madvise.

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

While these defines may make sense _once madvise is implemented_ in
cygwin, I don't want them any sooner.  In other words, we need a cygwin
port of madvise before we pollute the namespace with MADV_* constants.
That said, since Linux supports madvise and cygwin tries to emulate
Linux, a patch to implement madvise() is more than welcome.

Eric Blake    +1-801-349-2682
Libvirt virtualization library

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the Cygwin mailing list