From f55d567b5910fe1dacf623fa471d771c99ba4fef Mon Sep 17 00:00:00 2001 From: usa Date: Fri, 26 Nov 2010 02:42:46 +0000 Subject: [PATCH] * vm_dump.c (dump_thread): get only required rights of the target thread because THREAD_ALL_ACCESS causes an access error on XP. reported by Masaya TARUI via IRC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ vm_dump.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 9ac85cb2ed..37f02112fc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Fri Nov 26 11:40:11 2010 NAKAMURA Usaku + + * vm_dump.c (dump_thread): get only required rights of the target + thread because THREAD_ALL_ACCESS causes an access error on XP. + reported by Masaya TARUI via IRC. + Fri Nov 26 11:09:07 2010 NAKAMURA Usaku * vm_dump.c (dump_thread): show the displacement from the beginning diff --git a/vm_dump.c b/vm_dump.c index 60fce89464..452e307473 100644 --- a/vm_dump.c +++ b/vm_dump.c @@ -684,7 +684,7 @@ dump_thread(void *arg) SymSetOptions(SYMOPT_UNDNAME | SYMOPT_DEFERRED_LOADS | SYMOPT_DEBUG | SYMOPT_LOAD_LINES); ph = GetCurrentProcess(); pSymInitialize(ph, NULL, TRUE); - th = pOpenThread(THREAD_ALL_ACCESS, FALSE, tid); + th = pOpenThread(THREAD_SUSPEND_RESUME|THREAD_GET_CONTEXT, FALSE, tid); if (th) { if (SuspendThread(th) != (DWORD)-1) { CONTEXT context;