deadlock

n. 1. [techspeak] A situation wherein two or more processes are unable to
proceed because each is waiting for one of the others to do something. A
common example is a program communicating to a server, which may find itself
waiting for output from the server before sending anything more to it, while
the server is similarly waiting for more input from the controlling program
before outputting anything. (It is reported that this particular flavor of
deadlock is sometimes called a starvation deadlock , though the term
starvation is more properly used for situations where a program can never
run simply because it never gets high enough priority. Another common flavor
is constipation , in which each process is trying to send stuff to the other
but all buffers are full because nobody is reading anything.) See deadly
embrace. 2. Also used of deadlock-like interactions between humans, as when
two people meet in a narrow corridor, and each tries to be polite by moving
aside to let the other pass, but they end up swaying from side to side
without making any progress because they always move the same way at the
same time.

