Dmitry Timoshkov : ntdll: Return from snoop tracing helpers earlier if tracing is disabled.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Oct 19 11:34:20 CDT 2015


Module: wine
Branch: master
Commit: 6262cc325f1ee03e207ae494d3fd7867dcb7262d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=6262cc325f1ee03e207ae494d3fd7867dcb7262d

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Mon Oct 19 10:28:31 2015 +0800

ntdll: Return from snoop tracing helpers earlier if tracing is disabled.

This allows turning off and on snooping from task manager.

Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntdll/relay.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/dlls/ntdll/relay.c b/dlls/ntdll/relay.c
index ef0af0f..997de1f 100644
--- a/dlls/ntdll/relay.c
+++ b/dlls/ntdll/relay.c
@@ -1085,6 +1085,8 @@ void WINAPI __regs_SNOOP_Entry( CONTEXT *context )
 
 	context->Eip = (DWORD)fun->origfun;
 
+        if (!TRACE_ON(snoop)) return;
+
 	if (TRACE_ON(timestamp))
 		print_timestamp();
 	if (fun->name) DPRINTF("%04x:CALL %s.%s(",GetCurrentThreadId(),dll->name,fun->name);
@@ -1121,6 +1123,12 @@ void WINAPI __regs_SNOOP_Return( CONTEXT *context )
 	if (ret->dll->funs[ret->ordinal].nrofargs<0)
 		ret->dll->funs[ret->ordinal].nrofargs=(context->Esp - ret->origESP-4)/4;
 	context->Eip = (DWORD)ret->origreturn;
+
+        if (!TRACE_ON(snoop)) {
+            ret->origreturn = NULL; /* mark as empty */
+            return;
+        }
+
 	if (TRACE_ON(timestamp))
 		print_timestamp();
 	if (ret->args) {




More information about the wine-cvs mailing list