Signal Handlers - stdio printf uses buffers internally imagine your program receives a SIGHUP while it does a printf("%d", 1); printf is halfway through changing some internal data structures your signal handler calls printf, uses the very same data structures, and returns to the main program