Broken Pipe is a standard error that occures on Unix like OSes. Whenever a pipe that you are writing to dies, SIGPIPE is raised.

Socket connections are pipes. Here's a little scenario:
  1. Open a connection to remote server
  2. Remote server dies, but you don't know or ignore that
  3. You try to write something to the socket
  4. The OS raises a SIGPIPE error indicating that nothing should be written to the pipe anymore