* breakpoint.c (bpstat_check_breakpoint_conditions): For thread

specific breakpoints, don't evaluate breakpoint condition if
different thread.
This commit is contained in:
Doug Evans
2013-11-13 23:35:18 -08:00
parent ec2af0ee47
commit 6c1b0f7b1d
2 changed files with 14 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2013-11-13 Doug Evans <xdje42@gmail.com>
* breakpoint.c (bpstat_check_breakpoint_conditions): For thread
specific breakpoints, don't evaluate breakpoint condition if
different thread.
2013-11-13 Keith Seitz <keiths@redhat.com>
PR c++/7935

View File

@ -5134,6 +5134,14 @@ bpstat_check_breakpoint_conditions (bpstat bs, ptid_t ptid)
return;
}
/* If this is a thread-specific breakpoint, don't waste cpu evaluating the
condition if this isn't the specified thread. */
if (b->thread != -1 && b->thread != thread_id)
{
bs->stop = 0;
return;
}
/* Evaluate Python breakpoints that have a "stop" method implemented. */
if (b->py_bp_object)
bs->stop = gdbpy_should_stop (b->py_bp_object);
@ -5217,10 +5225,6 @@ bpstat_check_breakpoint_conditions (bpstat bs, ptid_t ptid)
{
bs->stop = 0;
}
else if (b->thread != -1 && b->thread != thread_id)
{
bs->stop = 0;
}
else if (b->ignore_count > 0)
{
b->ignore_count--;