handle_sigint (unused (int sig))
{
static char msg[] = "Stopping... \n";
- (void) write(2, msg, sizeof(msg)-1);
+
+ /* This write is "opportunistic", so it's okay to ignore the
+ * result. It is not required for correctness, and if it does
+ * fail or produce a short write, we want to get out of the signal
+ * handler as quickly as possible, not retry it. */
+ IGNORE_RESULT (write (2, msg, sizeof(msg)-1));
interrupted = 1;
}