|
From: <sv...@va...> - 2005-11-10 15:02:52
|
Author: tom
Date: 2005-11-10 15:02:42 +0000 (Thu, 10 Nov 2005)
New Revision: 5070
Log:
Call VG_(unknown_SP_update) each time we switch to a new thread. This
ensures that current_stack is switched to the new thread's stack so
that we don't ignore the next stack update and hence fail to mark
memory that should be valid as valid.
Modified:
trunk/coregrind/m_scheduler/scheduler.c
Modified: trunk/coregrind/m_scheduler/scheduler.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_scheduler/scheduler.c 2005-11-10 14:24:08 UTC (rev =
5069)
+++ trunk/coregrind/m_scheduler/scheduler.c 2005-11-10 15:02:42 UTC (rev =
5070)
@@ -203,6 +203,8 @@
vg_assert(VG_(running_tid) =3D=3D VG_INVALID_THREADID);
VG_(running_tid) =3D tid;
=20
+ VG_(unknown_SP_update)(VG_(get_SP(tid)), VG_(get_SP(tid)));
+
if (VG_(clo_trace_sched))
print_sched_event(tid, "now running");
=20
|