summaryrefslogtreecommitdiff
blob: ea0b3e45d2a5d2c1dfdd2f4d35e806fe9978be3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
>From 7362cabccdc7f6b3aa745fcd0ec6f2701f2eb4b2 Mon Sep 17 00:00:00 2001
From: FeepingCreature <default_357-line@yahoo.de>
Date: Fri, 8 Mar 2013 16:52:39 +0100
Subject: ntdll: Make NtFlushVirtualMemory's msync() call asynchronous, since
 FlushViewOfFile, which calls it, is specified to be asynchronous in
 the MSDN
 (http://msdn.microsoft.com/en-us/library/windows/desktop/aa366563%28v=vs.85%29.aspx
 ).

---
 dlls/ntdll/virtual.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index a99bca4..e4f2bb6 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -62,6 +62,10 @@ WINE_DECLARE_DEBUG_CHANNEL(module);
 #define MS_SYNC 0
 #endif
 
+#ifndef MS_ASYNC
+#define MS_ASYNC 1
+#endif
+
 #ifndef MAP_NORESERVE
 #define MAP_NORESERVE 0
 #endif
@@ -2780,7 +2784,7 @@ NTSTATUS WINAPI NtFlushVirtualMemory( HANDLE process, LPCVOID *addr_ptr,
     {
         if (!*size_ptr) *size_ptr = view->size;
         *addr_ptr = addr;
-        if (msync( addr, *size_ptr, MS_SYNC )) status = STATUS_NOT_MAPPED_DATA;
+        if (msync( addr, *size_ptr, MS_ASYNC )) status = STATUS_NOT_MAPPED_DATA;
     }
     server_leave_uninterrupted_section( &csVirtual, &sigset );
     return status;
-- 
1.7.12