#include #include #include #include /* * safe_printf - async-signal-safe wrapper for printf */ #define MAXS 1024 void safe_printf(const char *format, ...) { char buf[MAXS]; va_list args; va_start(args, format); vsnprintf(buf, sizeof(buf), format, args); va_end(args); write(1, buf, strlen(buf)); /* write is async-signal-safe */ }