Module: wine Branch: master Commit: ccdbc176c0b131afad05395d152d78c6468da511 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ccdbc176c0b131afad05395d15...
Author: Jacek Caban jacek@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@codeweavers.com Signed-off-by: Sebastian Lackner sebastian@fds-team.de Signed-off-by: Alexandre Julliard julliard@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