Skip to content

Commit e06b77e

Browse files
GetCurrentProcess only once
1 parent 0f130c5 commit e06b77e

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/backtrace/win32.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,6 @@ pub unsafe fn trace(cb: &mut dyn FnMut(&super::Frame) -> bool) {
112112
let function_table_access = dbghelp.SymFunctionTableAccess64();
113113
let get_module_base = dbghelp.SymGetModuleBase64();
114114

115-
let process_handle = GetCurrentProcess();
116-
117115
// Attempt to use `StackWalkEx` if we can, but fall back to `StackWalk64`
118116
// since it's in theory supported on more systems.
119117
match (*dbghelp.dbghelp()).StackWalkEx() {
@@ -146,7 +144,8 @@ pub unsafe fn trace(cb: &mut dyn FnMut(&super::Frame) -> bool) {
146144
0,
147145
) == TRUE
148146
{
149-
frame.inner.base_address = get_module_base(process_handle, frame.ip() as _) as _;
147+
frame.inner.base_address =
148+
unsafe { get_module_base(process, frame.ip() as _) as _ };
150149

151150
if !cb(&frame) {
152151
break;
@@ -178,7 +177,8 @@ pub unsafe fn trace(cb: &mut dyn FnMut(&super::Frame) -> bool) {
178177
None,
179178
) == TRUE
180179
{
181-
frame.inner.base_address = get_module_base(process_handle, frame.ip() as _) as _;
180+
frame.inner.base_address =
181+
unsafe { get_module_base(process, frame.ip() as _) as _ };
182182

183183
if !cb(&frame) {
184184
break;

0 commit comments

Comments
 (0)