Basic Deadlock Check + Better Blocking

Basic self-deadlock case implemented, and switched to
wait_event_interruptible() blocking.