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.