blob: 9f5073c1927a40ed69401d093e3ec681a2611f68 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
Description: Fixed compilation under Glib 2.31.x.
Origin: Upstream, http://svn.berlios.de/viewvc/gsmartcontrol/trunk/gsmartcontrol/src/hz/sync_policy_glib.h?r1=27&r2=72&view=patch
Author: Alexander Shaduri
Bug-Ubuntu: https://bugs.launchpad.net/bugs/935155
Bug-Debian: http://bugs.debian.org/665677
--- gsmartcontrol/src/hz/sync_policy_glib.h 2011/03/06 10:43:38 27
+++ gsmartcontrol/src/hz/sync_policy_glib.h 2011/11/02 16:00:39 72
@@ -17,30 +17,14 @@
// Glib-based policy.
-// Note: g_static_mutex_*lock() functions may give warnings about breaking strict-aliasing rules.
-// The warnings are completely harmless and visible on some versions of glib only.
-// However, due to their number, I decided to implement this workaround.
-
-#ifndef _WIN32
- // same as stock version, but an additional cast to (void*) is added.
- #define hz_glib_static_mutex_get_mutex(mutex) \
- ( g_thread_use_default_impl ? ((GMutex*) ((void*)((mutex)->static_mutex.pad))) : \
- g_static_mutex_get_mutex_impl_shortcut(&((mutex)->runtime_mutex)) )
-
-#else
- // win32 has different definition of this macro, so default to stock version.
- #define hz_glib_static_mutex_get_mutex(mutex) g_static_mutex_get_mutex(mutex)
-#endif
-
-
#define hz_glib_static_mutex_lock(mutex) \
- g_mutex_lock(hz_glib_static_mutex_get_mutex(mutex))
+ g_mutex_lock(g_static_mutex_get_mutex(mutex))
#define hz_glib_static_mutex_trylock(mutex) \
- g_mutex_trylock(hz_glib_static_mutex_get_mutex(mutex))
+ g_mutex_trylock(g_static_mutex_get_mutex(mutex))
#define hz_glib_static_mutex_unlock(mutex) \
- g_mutex_unlock(hz_glib_static_mutex_get_mutex(mutex))
+ g_mutex_unlock(g_static_mutex_get_mutex(mutex))
|