Jacek Caban : ntoskrnl.exe: Use static initializer for device_drivers.
Alexandre Julliard
julliard at winehq.org
Wed Aug 31 11:02:41 CDT 2016
Module: wine
Branch: master
Commit: ccdbc176c0b131afad05395d152d78c6468da511
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ccdbc176c0b131afad05395d152d78c6468da511
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Aug 30 21:30:33 2016 +0200
ntoskrnl.exe: Use static initializer for device_drivers.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 40 ++++++++--------------------------------
1 file changed, 8 insertions(+), 32 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 7c35d14..a2cbb74 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -90,32 +90,6 @@ struct wine_driver
DRIVER_EXTENSION driver_extension;
};
-static struct wine_rb_tree wine_drivers;
-
-static CRITICAL_SECTION drivers_cs;
-static CRITICAL_SECTION_DEBUG critsect_debug =
-{
- 0, 0, &drivers_cs,
- { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
- 0, 0, { (DWORD_PTR)(__FILE__ ": drivers_cs") }
-};
-static CRITICAL_SECTION drivers_cs = { &critsect_debug, -1, 0, 0, 0, 0 };
-
-static void *wine_drivers_rb_alloc( size_t size )
-{
- return HeapAlloc( GetProcessHeap(), 0, size );
-}
-
-static void *wine_drivers_rb_realloc( void *ptr, size_t size )
-{
- return HeapReAlloc( GetProcessHeap(), 0, ptr, size );
-}
-
-static void wine_drivers_rb_free( void *ptr )
-{
- HeapFree( GetProcessHeap(), 0, ptr );
-}
-
static int wine_drivers_rb_compare( const void *key, const struct wine_rb_entry *entry )
{
const struct wine_driver *driver = WINE_RB_ENTRY_VALUE( entry, const struct wine_driver, entry );
@@ -124,13 +98,16 @@ static int wine_drivers_rb_compare( const void *key, const struct wine_rb_entry
return RtlCompareUnicodeString( k, &driver->driver_obj.DriverName, FALSE );
}
-static const struct wine_rb_functions wine_drivers_rb_functions =
+static struct wine_rb_tree wine_drivers = { wine_drivers_rb_compare };
+
+static CRITICAL_SECTION drivers_cs;
+static CRITICAL_SECTION_DEBUG critsect_debug =
{
- wine_drivers_rb_alloc,
- wine_drivers_rb_realloc,
- wine_drivers_rb_free,
- wine_drivers_rb_compare,
+ 0, 0, &drivers_cs,
+ { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
+ 0, 0, { (DWORD_PTR)(__FILE__ ": drivers_cs") }
};
+static CRITICAL_SECTION drivers_cs = { &critsect_debug, -1, 0, 0, 0, 0 };
#ifdef __i386__
#define DEFINE_FASTCALL1_ENTRYPOINT( name ) \
@@ -2447,7 +2424,6 @@ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
{
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls( inst );
- if (wine_rb_init( &wine_drivers, &wine_drivers_rb_functions )) return FALSE;
#if defined(__i386__) || defined(__x86_64__)
handler = RtlAddVectoredExceptionHandler( TRUE, vectored_handler );
#endif
More information about the wine-cvs
mailing list