int mon_out(const char *format, ...) { va_list ap; char *buffer; int rc = 0; va_start(ap, format); buffer = lib_mvsprintf(format, ap); rc = mon_out_buffered(buffer); lib_free(buffer); if (rc < 0) monitor_abort(); return rc; }
static void handle_abort(int signo) { monitor_abort(); signal(SIGINT, (signal_handler_t)handle_abort); }