Implement POSIX_MADV_WILLNEED/POSIX_MADV_DONTNEED for newer OSes
* autoload.cc (DiscardVirtualMemory): Import. (PrefetchVirtualMemory): Import. * mmap.cc (posix_madvise): Actually implement POSIX_MADV_WILLNEED utilizing PrefetchVirtualMemory and POSIX_MADV_DONTNEED utilizing DiscardVirtualMemory on systems supporting them. * wincap.h (wincaps::has_broken_prefetchvm): New element. * wincap.cc: Implement above element throughout. (wincapc::init): Make sure has_broken_prefetchvm is only true on W10 under WOW64. * include/cygwin/version.h (CYGWIN_VERSION_DLL_MAJOR): Bump to 2003. (CYGWIN_VERSION_API_MINOR): Reset to 0. * new-features.xml (ov-new2.3): New section, document posix_madvise POSIX_MADV_WILLNEED/POSIX_MADV_DONTNEED change. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
@ -570,12 +570,14 @@ LoadDLLfunc (GetUdpTable, 12, iphlpapi)
|
||||
|
||||
LoadDLLfuncEx (CancelSynchronousIo, 4, kernel32, 1)
|
||||
LoadDLLfunc (CreateSymbolicLinkW, 12, kernel32)
|
||||
LoadDLLfuncEx2 (DiscardVirtualMemory, 8, kernel32, 1, 127)
|
||||
LoadDLLfuncEx (GetLogicalProcessorInformationEx, 12, kernel32, 1)
|
||||
LoadDLLfuncEx (GetNamedPipeClientProcessId, 8, kernel32, 1)
|
||||
LoadDLLfunc (GetSystemTimePreciseAsFileTime, 4, kernel32)
|
||||
LoadDLLfuncEx (IdnToAscii, 20, kernel32, 1)
|
||||
LoadDLLfuncEx (IdnToUnicode, 20, kernel32, 1)
|
||||
LoadDLLfunc (LocaleNameToLCID, 8, kernel32)
|
||||
LoadDLLfuncEx (PrefetchVirtualMemory, 16, kernel32, 1)
|
||||
LoadDLLfunc (SetThreadGroupAffinity, 12, kernel32)
|
||||
LoadDLLfunc (SetThreadStackGuarantee, 4, kernel32)
|
||||
|
||||
|
Reference in New Issue
Block a user