Browse Source
Introduce some hooks for the shared part of qemu thread between POSIX and Windows implementations. Note that in qemu_mutex_unlock_impl() we moved the call before unlock operation which should make more sense. And we don't need qemu_mutex_post_unlock() hook. Put all these shared hooks into the header files. It should be internal to qemu-thread but not for qemu-thread users, hence put into util/ directory. Reviewed-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Peter Xu <peterx@redhat.com> Message-Id: <20180425025459.5258-3-peterx@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>pull/73/head
committed by
Paolo Bonzini
3 changed files with 59 additions and 20 deletions
@ -0,0 +1,43 @@ |
|||
/*
|
|||
* Common qemu-thread implementation header file. |
|||
* |
|||
* Copyright Red Hat, Inc. 2018 |
|||
* |
|||
* Authors: |
|||
* Peter Xu <peterx@redhat.com>, |
|||
* |
|||
* This work is licensed under the terms of the GNU GPL, version 2 or later. |
|||
* See the COPYING file in the top-level directory. |
|||
*/ |
|||
|
|||
#ifndef QEMU_THREAD_COMMON_H |
|||
#define QEMU_THREAD_COMMON_H |
|||
|
|||
#include "qemu/typedefs.h" |
|||
#include "qemu/thread.h" |
|||
#include "trace.h" |
|||
|
|||
static inline void qemu_mutex_post_init(QemuMutex *mutex) |
|||
{ |
|||
mutex->initialized = true; |
|||
} |
|||
|
|||
static inline void qemu_mutex_pre_lock(QemuMutex *mutex, |
|||
const char *file, int line) |
|||
{ |
|||
trace_qemu_mutex_lock(mutex, file, line); |
|||
} |
|||
|
|||
static inline void qemu_mutex_post_lock(QemuMutex *mutex, |
|||
const char *file, int line) |
|||
{ |
|||
trace_qemu_mutex_locked(mutex, file, line); |
|||
} |
|||
|
|||
static inline void qemu_mutex_pre_unlock(QemuMutex *mutex, |
|||
const char *file, int line) |
|||
{ |
|||
trace_qemu_mutex_unlock(mutex, file, line); |
|||
} |
|||
|
|||
#endif |
|||
Loading…
Reference in new issue