Display thread id instead of %fs in relay trace.
diff --git a/relay32/relay386.c b/relay32/relay386.c index 1651936..d4e251b 100644 --- a/relay32/relay386.c +++ b/relay32/relay386.c
@@ -128,8 +128,10 @@ /* Now find the function */ - name = find_exported_name( base, exp, ordinal + exp->Base ); - sprintf( buffer, "%s.%ld: %s", base + exp->Name, ordinal + exp->Base, name ? name : "@" ); + if ((name = find_exported_name( base, exp, ordinal + exp->Base ))) + sprintf( buffer, "%s.%s", base + exp->Name, name ); + else + sprintf( buffer, "%s.%ld", base + exp->Name, ordinal + exp->Base ); } @@ -183,7 +185,7 @@ DPRINTF( "Call %s(", buffer ); RELAY_PrintArgs( args, nb_args, relay->argtypes ); - DPRINTF( ") ret=%08x fs=%04x\n", ret_addr, __get_fs() ); + DPRINTF( ") ret=%08x tid=%08lx\n", ret_addr, GetCurrentThreadId() ); ret64 = (relay->argtypes & 0x80000000) && (nb_args < 16); /* the user driver functions may be called with the window lock held */ @@ -277,11 +279,11 @@ } } if (ret64) - DPRINTF( "Ret %s() retval=%08x%08x ret=%08x fs=%04x\n", - buffer, (UINT)(ret >> 32), (UINT)ret, ret_addr, __get_fs() ); + DPRINTF( "Ret %s() retval=%08x%08x ret=%08x tid=%08lx\n", + buffer, (UINT)(ret >> 32), (UINT)ret, ret_addr, GetCurrentThreadId() ); else - DPRINTF( "Ret %s() retval=%08x ret=%08x fs=%04x\n", - buffer, (UINT)ret, ret_addr, __get_fs() ); + DPRINTF( "Ret %s() retval=%08x ret=%08x tid=%08lx\n", + buffer, (UINT)ret, ret_addr, GetCurrentThreadId() ); if (memcmp( buffer, "x11drv.", 7 ) && memcmp( buffer, "ttydrv.", 7 )) SYSLEVEL_CheckNotLevel( 2 );
diff --git a/scheduler/process.c b/scheduler/process.c index 6d3ad5e..7f4fb98 100644 --- a/scheduler/process.c +++ b/scheduler/process.c
@@ -393,7 +393,8 @@ /* Call UserSignalProc ( USIG_PROCESS_RUNNING ... ) only for non-GUI win32 apps */ if (console_app) PROCESS_CallUserSignalProc( USIG_PROCESS_RUNNING, 0 ); - TRACE_(relay)( "Starting Win32 process %s (entryproc=%p)\n", main_exe_name, entry ); + TRACE_(relay)( "Starting Win32 process %s (entryproc=%p) tid=%08lx\n", + main_exe_name, entry, GetCurrentThreadId() ); if (debugged) DbgBreakPoint(); /* FIXME: should use _PEB as parameter for NT 3.5 programs ! * Dunno about other OSs */
diff --git a/scheduler/thread.c b/scheduler/thread.c index b0410f5..49df3c7 100644 --- a/scheduler/thread.c +++ b/scheduler/thread.c
@@ -30,6 +30,7 @@ #include "winnls.h" DEFAULT_DEBUG_CHANNEL(thread); +DECLARE_DEBUG_CHANNEL(relay); /* TEB of the initial thread */ static TEB initial_teb; @@ -271,6 +272,8 @@ NtCurrentTeb()->cleanup = SERVICE_AddObject( cleanup_object, (PAPCFUNC)THREAD_FreeTEB, (ULONG_PTR)NtCurrentTeb() ); + TRACE_(relay)("Starting thread %08lx\n", GetCurrentThreadId()); + PROCESS_CallUserSignalProc( USIG_THREAD_INIT, 0 ); PE_InitTls(); MODULE_DllThreadAttach( NULL );