bool ReleaseThreadLock(Inferior.ChildEvent cevent)
{
if (!has_thread_lock)
return true;
Report.Debug (DebugFlags.SSE,
"{0} releasing thread lock at {1}",
sse, inferior.CurrentFrame);
inferior.EnableBreakpoint (Index);
sse.process.ReleaseGlobalThreadLock (sse);
Report.Debug (DebugFlags.SSE,
"{0} done releasing thread lock at {1} - {2}",
sse, inferior.CurrentFrame, sse.HasThreadLock);
has_thread_lock = false;
if (sse.thread_lock == null)
return true;
sse.thread_lock.SetStopEvent (cevent);
return false;
}