title: Why does SIGPIPE exist?
body: <p>From my understanding, <code>SIGPIPE</code> can only occur as the result of a <code>write()</code>, which can (and does) return -1 and set <code>errno</code> to <code>EPIPE</code>... So why do we have the extra overhead of a signal? Every time I work with pipes I ignore <code>SIGPIPE</code> and have never felt any pain as a result, am I missing something?</p>