class DEBUGGER__::ThreadClient

def tp_allow_reentry

def tp_allow_reentry
  TracePoint.allow_reentry do
    yield
  end
rescue RuntimeError => e
  # on the postmortem mode, it is not stopped in TracePoint
  if e.message == 'No need to allow reentrance.'
    yield
  else
    raise
  end
end