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.

[glossary]
[Reference(s) to this entry by made by: {deadly embrace}{livelock}{wedged}]