deadlock passed to caller