aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libsbutil')
-rw-r--r--libsbutil/sb_efuncs.c1
-rw-r--r--libsbutil/sbutil.h9
2 files changed, 10 insertions, 0 deletions
diff --git a/libsbutil/sb_efuncs.c b/libsbutil/sb_efuncs.c
index 7ded90d..1283784 100644
--- a/libsbutil/sb_efuncs.c
+++ b/libsbutil/sb_efuncs.c
@@ -52,6 +52,7 @@ static void sb_vefunc(const char *prog, const char *color, const char *format, v
sb_fdprintf(fd, " %s*%s ", color, COLOR_NORMAL);
sb_vfdprintf(fd, format, args);
+ fsync(fd);
if (opened)
close(fd);
}
diff --git a/libsbutil/sbutil.h b/libsbutil/sbutil.h
index d81543b..267f717 100644
--- a/libsbutil/sbutil.h
+++ b/libsbutil/sbutil.h
@@ -169,6 +169,15 @@ char *__xstrndup(const char *str, size_t size, const char *file, const char *fun
#define restore_errno() errno = old_errno;
#define saved_errno old_errno
+#define RETRY_EINTR(call) \
+({ \
+ long result; \
+ do { \
+ result = (call); \
+ } while (result == -1 && errno == EINTR); \
+ result; \
+})
+
#include "gnulib/canonicalize.h"
#endif /* __SBUTIL_H__ */