[Wine-patches] [eterhack] ntdll: Fix merge error (eterbug #5473).
Alexander Morozov
amorozov на etersoft.ru
Пт Май 28 14:43:20 MSD 2010
----------- следующая часть -----------
From 43466737301d5f95a35ecc74e04fea2eb496b2c9 Mon Sep 17 00:00:00 2001
From: Alexander Morozov <amorozov на etersoft.ru>
Date: Fri, 28 May 2010 14:38:40 +0400
Subject: [eterhack] ntdll: Fix merge error (eterbug #5473).
---
dlls/ntdll/virtual.c | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index 58db410..d3f262a 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -1683,6 +1683,10 @@ static int free_reserved_memory( void *base, size_t size, void *arg )
*/
void virtual_release_address_space( BOOL free_high_mem )
{
+#ifndef __APPLE__
+ static const char winedevice[] = "\\winedevice.exe";
+ char *path;
+#endif
struct free_range range;
sigset_t sigset;
@@ -1701,9 +1705,13 @@ void virtual_release_address_space( BOOL free_high_mem )
else
{
#ifndef __APPLE__ /* dyld doesn't support parts of the WINE_DOS segment being unmapped */
- range.base = (char *)0x20000000;
- range.limit = (char *)0x7f000000;
- while (wine_mmap_enum_reserved_areas( free_reserved_memory, &range, 0 )) /* nothing */;
+ if (!(path = strrchr( __wine_main_argv[0], '\\' )) ||
+ strcasecmp( path, winedevice ))
+ {
+ range.base = (char *)0x20000000;
+ range.limit = (char *)0x7f000000;
+ while (wine_mmap_enum_reserved_areas( free_reserved_memory, &range, 0 )) /* nothing */;
+ }
#endif
}
--
1.6.5.8
Подробная информация о списке рассылки Wine-patches