From e71c5a205331ec092c5af9429a014e6fbeaa7fb0 Mon Sep 17 00:00:00 2001 From: wj32 Date: Thu, 28 May 2009 11:21:09 +0000 Subject: [PATCH] added LPC port wait detection and NT user message wait detection git-svn-id: svn://svn.code.sf.net/p/processhacker/code@1335 21ef857c-d57f-4fe0-8362-d861dc6d29cd --- trunk/ProcessHacker/Components/ThreadList.cs | 25 ++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/trunk/ProcessHacker/Components/ThreadList.cs b/trunk/ProcessHacker/Components/ThreadList.cs index fea356e8e..53c123970 100644 --- a/trunk/ProcessHacker/Components/ThreadList.cs +++ b/trunk/ProcessHacker/Components/ThreadList.cs @@ -932,6 +932,31 @@ namespace ProcessHacker.Components sb.AppendLine(this.GetHandleString(_pid, handle)); } + else if ( + name.StartsWith("ntdll.dll!zwreplywaitreceiveport") || + name.StartsWith("ntdll.dll!ntreplywaitreceiveport") || + name.StartsWith("ntdll.dll!zwrequestwaitreplyport") || + name.StartsWith("ntdll.dll!ntrequestwaitreplyport") || + name.StartsWith("ntdll.dll!zwalpcsendwaitreceiveport") || + name.StartsWith("ntdll.dll!ntalpcsendwaitreceiveport") + ) + { + found = true; + + IntPtr handle = stackFrame.Params[0]; + + sb.AppendLine("Thread " + tid.ToString() + " is waiting for a LPC port:"); + + sb.AppendLine(this.GetHandleString(_pid, handle)); + } + else if ( + name.StartsWith("ntdll.dll!ntusergetmessage") + ) + { + found = true; + + sb.AppendLine("Thread " + tid.ToString() + " is waiting for a USER message."); + } else if ( name.StartsWith("ntdll.dll!zwdelayexecution") || name.StartsWith("ntdll.dll!ntdelayexecution")