On Tuesday 11 March 2008 00:08:44 Daniel Jacobowitz wrote: > On Thu, Feb 28, 2008 at 05:17:13PM +0300, Vladimir Prus wrote: > > > > This is hopefully final revision of my patch to keep > > breakpoints always inserted, which is needed to support > > non-stop mode. A new variable 'breakpoint always-inserted' > > is introduced that enables this mode. When enabled, > > breakpoints are inserted into target immediately when created, > > and they are not removed when we stop. > > > > Compared to the previous version of this patch: > > - The always-inserted mode is actually configurable > > - In always-inserted mode, breakpoints are removed > > from target on detach/disconnect. > > > > OK? > > This patch is OK, if you will add the missing pieces: a NEWS entry and > documentation for the new command, and a testcase that enables > always-inserted and verifies that it isn't a brick. I've added NEW and documentation. I'm still not sure how to test this adequately. > > @@ -1350,10 +1358,6 @@ handle_inferior_event (struct execution_control_state *ecs) > > established. */ > > if (stop_soon == NO_STOP_QUIETLY) > > { > > - /* Remove breakpoints, SOLIB_ADD might adjust > > - breakpoint addresses via breakpoint_re_set. */ > > - remove_breakpoints (); > > - > > /* Check for any newly added shared libraries if we're > > supposed to be adding them automatically. Switch > > terminal for any messages produced by > > @@ -1393,9 +1397,6 @@ handle_inferior_event (struct execution_control_state *ecs) > > > > /* NOTE drow/2007-05-11: This might be a good place to check > > for "catch load". */ > > - > > - /* Reinsert breakpoints and continue. */ > > - insert_breakpoints (); > > } > > > > /* If we are skipping through a shell, or through shared library > > This does the right thing even with breakpoints not always inserted, > right? I'm afraid no. On this code path, we call 'resume' immediately, which does not insert breakpoints. I've fixed this. Does does this one look? - Volodya