[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V2 1/2] oslib-win32: add lock for gmtime_r()
From: |
Wenchao Xia |
Subject: |
[Qemu-devel] [PATCH V2 1/2] oslib-win32: add lock for gmtime_r() |
Date: |
Fri, 11 Jan 2013 18:30:26 +0800 |
Signed-off-by: Wenchao Xia <address@hidden>
---
v2:
better comments and removed the code change gmtime() to gmtime_r().
---
oslib-win32.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/oslib-win32.c b/oslib-win32.c
index e7e283e..9a443da 100644
--- a/oslib-win32.c
+++ b/oslib-win32.c
@@ -32,6 +32,8 @@
#include "trace.h"
#include "qemu/sockets.h"
+static GStaticMutex time_lock = G_STATIC_MUTEX_INIT;
+
void *qemu_oom_check(void *ptr)
{
if (ptr == NULL) {
@@ -74,15 +76,17 @@ void qemu_vfree(void *ptr)
VirtualFree(ptr, 0, MEM_RELEASE);
}
-/* FIXME: add proper locking */
+/* FIXME: make it thread safe in MinGW, remove the lock in qemu. */
struct tm *gmtime_r(const time_t *timep, struct tm *result)
{
+ g_static_mutex_lock(&time_lock);
struct tm *p = gmtime(timep);
memset(result, 0, sizeof(*result));
if (p) {
*result = *p;
p = result;
}
+ g_static_mutex_unlock(&time_lock);
return p;
}
--
1.7.1
- [Qemu-devel] [PATCH V2 1/2] oslib-win32: add lock for gmtime_r(),
Wenchao Xia <=