This could cause deadlocks right? Locking something is a signal is risky.