(abort_pending): New static variable.
(do_write_only): Now global static, not a local variable in main. (setup_timer): Removed. Use the one from libmisc instead. (write_server): Handle ECONNRESET, EPIPE and end-of-file when only writing. (arm_timer): Check return value of setup_timer. (end_it): Clear abort_pending. (main): Set abort_pending if we are about to abort. Cancel the timer if the top loop returns before the abort timer fires. Treat ECONNRESET the same way as EPIPE.