projects
/
qemu
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Properly handle pthread_cond_timedwait timing out
[qemu]
/
osdep.h
diff --git
a/osdep.h
b/osdep.h
index
09ebace
..
ffbf221
100644
(file)
--- a/
osdep.h
+++ b/
osdep.h
@@
-7,6
+7,10
@@
#include <sys/signal.h>
#endif
#include <sys/signal.h>
#endif
+#ifndef _WIN32
+#include <sys/time.h>
+#endif
+
#ifndef glue
#define xglue(x, y) x ## y
#define glue(x, y) xglue(x, y)
#ifndef glue
#define xglue(x, y) x ## y
#define glue(x, y) xglue(x, y)
@@
-23,9
+27,14
@@
#define unlikely(x) __builtin_expect(!!(x), 0)
#endif
#define unlikely(x) __builtin_expect(!!(x), 0)
#endif
+#ifndef offsetof
+#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *) 0)->MEMBER)
+#endif
+#ifndef container_of
#define container_of(ptr, type, member) ({ \
#define container_of(ptr, type, member) ({ \
- const typeof( ((type *)0)->member ) *__mptr = (ptr); \
- (type *)( (char *)__mptr - offsetof(type,member) );})
+ const typeof(((type *) 0)->member) *__mptr = (ptr); \
+ (type *) ((char *) __mptr - offsetof(type, member));})
+#endif
#ifndef MIN
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
#ifndef MIN
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
@@
-43,8
+52,10
@@
#define always_inline inline
#else
#define always_inline __attribute__ (( always_inline )) __inline__
#define always_inline inline
#else
#define always_inline __attribute__ (( always_inline )) __inline__
+#ifdef __OPTIMIZE__
#define inline always_inline
#endif
#define inline always_inline
#endif
+#endif
#else
#define inline always_inline
#endif
#else
#define inline always_inline
#endif
@@
-57,6
+68,13
@@
#define qemu_printf printf
#define qemu_printf printf
+#if defined (__GNUC__) && defined (__GNUC_MINOR__)
+# define QEMU_GNUC_PREREQ(maj, min) \
+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+#else
+# define QEMU_GNUC_PREREQ(maj, min) 0
+#endif
+
void *qemu_memalign(size_t alignment, size_t size);
void *qemu_vmalloc(size_t size);
void qemu_vfree(void *ptr);
void *qemu_memalign(size_t alignment, size_t size);
void *qemu_vmalloc(size_t size);
void qemu_vfree(void *ptr);