提交 41d9bba5 编写于 作者: D Daniel P. Berrangé

util: add compat wrapper for g_fsync

g_fsync isn't available until 2.63 so we need a compat
wrapper temporarily.
Reviewed-by: NFabiano Fidêncio <fidencio@redhat.com>
Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
上级 2c335324
......@@ -1504,6 +1504,7 @@ virSecurityManagerVerify;
# util/glibcompat.h
vir_g_fsync;
vir_g_strdup_printf;
vir_g_strdup_vprintf;
......
......@@ -19,11 +19,13 @@
#include <config.h>
#include <stdlib.h>
#include <unistd.h>
#include "glibcompat.h"
#undef g_strdup_printf
#undef g_strdup_vprintf
#undef g_fsync
/* Due to a bug in glib, g_strdup_printf() nor g_strdup_vprintf()
* abort on OOM. It's fixed in glib's upstream. Provide our own
......@@ -51,3 +53,14 @@ vir_g_strdup_vprintf(const char *msg, va_list args)
abort();
return ret;
}
gint
vir_g_fsync(gint fd)
{
#ifdef G_OS_WIN32
return _commit(fd);
#else
return fsync(fd);
#endif
}
......@@ -25,8 +25,13 @@ char *vir_g_strdup_printf(const char *msg, ...)
G_GNUC_PRINTF(1, 2);
char *vir_g_strdup_vprintf(const char *msg, va_list args)
G_GNUC_PRINTF(1, 0);
gint vir_g_fsync(gint fd);
#if !GLIB_CHECK_VERSION(2, 64, 0)
# define g_strdup_printf vir_g_strdup_printf
# define g_strdup_vprintf vir_g_strdup_vprintf
#endif
#if !GLIB_CHECK_VERSION(2, 63, 0)
# define g_fsync vir_g_fsync
#endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册