From 8043969111c0521a4ab292cc573f7e47ed2e8512 Mon Sep 17 00:00:00 2001
From: pompolic <pompolic@special-circumstanc.es>
Date: Wed, 15 Feb 2023 18:13:29 +0100
Subject: [PATCH] If h_parse returns before the next h_do_parse call, stop in
 next h_parse() call

---
 gdb-port/hammer-breakpoints.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gdb-port/hammer-breakpoints.py b/gdb-port/hammer-breakpoints.py
index ba5d5d6..c66ae25 100644
--- a/gdb-port/hammer-breakpoints.py
+++ b/gdb-port/hammer-breakpoints.py
@@ -102,6 +102,9 @@ class HDoParseRetBreakpoint(gdb.Breakpoint):
 			# Do not stop at this breakpoint, but stop at the next HDoParseBreakpoint
 			gdb.set_convenience_variable("hammer_step_counter", 1)
 
+		elif top_level_parse.peek_parserstack() and len(top_level_parse.peek_parserstack().p_stack) < 2:
+			gdb.set_convenience_variable("hammer_step_counter", 1)
+
 		return False
 
 class PerformLowLevelParseBreakpoint(gdb.Breakpoint):
-- 
GitLab