util: Use real functions for thread-posix QemuRecMutex
Move the declarations from thread-win32.h into thread.h and remove the macro redirection from thread-posix.h. This will be required by following cleanups. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20210614233143.1221879-4-richard.henderson@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
52a8071579
commit
5d63bd5aad
@ -5,10 +5,6 @@
|
|||||||
#include <semaphore.h>
|
#include <semaphore.h>
|
||||||
|
|
||||||
typedef QemuMutex QemuRecMutex;
|
typedef QemuMutex QemuRecMutex;
|
||||||
#define qemu_rec_mutex_destroy qemu_mutex_destroy
|
|
||||||
#define qemu_rec_mutex_lock_impl qemu_mutex_lock_impl
|
|
||||||
#define qemu_rec_mutex_trylock_impl qemu_mutex_trylock_impl
|
|
||||||
#define qemu_rec_mutex_unlock qemu_mutex_unlock
|
|
||||||
|
|
||||||
struct QemuMutex {
|
struct QemuMutex {
|
||||||
pthread_mutex_t lock;
|
pthread_mutex_t lock;
|
||||||
|
@ -18,12 +18,6 @@ struct QemuRecMutex {
|
|||||||
bool initialized;
|
bool initialized;
|
||||||
};
|
};
|
||||||
|
|
||||||
void qemu_rec_mutex_destroy(QemuRecMutex *mutex);
|
|
||||||
void qemu_rec_mutex_lock_impl(QemuRecMutex *mutex, const char *file, int line);
|
|
||||||
int qemu_rec_mutex_trylock_impl(QemuRecMutex *mutex, const char *file,
|
|
||||||
int line);
|
|
||||||
void qemu_rec_mutex_unlock(QemuRecMutex *mutex);
|
|
||||||
|
|
||||||
struct QemuCond {
|
struct QemuCond {
|
||||||
CONDITION_VARIABLE var;
|
CONDITION_VARIABLE var;
|
||||||
bool initialized;
|
bool initialized;
|
||||||
|
@ -28,6 +28,12 @@ int qemu_mutex_trylock_impl(QemuMutex *mutex, const char *file, const int line);
|
|||||||
void qemu_mutex_lock_impl(QemuMutex *mutex, const char *file, const int line);
|
void qemu_mutex_lock_impl(QemuMutex *mutex, const char *file, const int line);
|
||||||
void qemu_mutex_unlock_impl(QemuMutex *mutex, const char *file, const int line);
|
void qemu_mutex_unlock_impl(QemuMutex *mutex, const char *file, const int line);
|
||||||
|
|
||||||
|
void qemu_rec_mutex_init(QemuRecMutex *mutex);
|
||||||
|
void qemu_rec_mutex_destroy(QemuRecMutex *mutex);
|
||||||
|
void qemu_rec_mutex_lock_impl(QemuRecMutex *mutex, const char *file, int line);
|
||||||
|
int qemu_rec_mutex_trylock_impl(QemuRecMutex *mutex, const char *file, int line);
|
||||||
|
void qemu_rec_mutex_unlock(QemuRecMutex *mutex);
|
||||||
|
|
||||||
typedef void (*QemuMutexLockFunc)(QemuMutex *m, const char *f, int l);
|
typedef void (*QemuMutexLockFunc)(QemuMutex *m, const char *f, int l);
|
||||||
typedef int (*QemuMutexTrylockFunc)(QemuMutex *m, const char *f, int l);
|
typedef int (*QemuMutexTrylockFunc)(QemuMutex *m, const char *f, int l);
|
||||||
typedef void (*QemuRecMutexLockFunc)(QemuRecMutex *m, const char *f, int l);
|
typedef void (*QemuRecMutexLockFunc)(QemuRecMutex *m, const char *f, int l);
|
||||||
@ -129,9 +135,6 @@ static inline int (qemu_rec_mutex_trylock)(QemuRecMutex *mutex)
|
|||||||
return qemu_rec_mutex_trylock(mutex);
|
return qemu_rec_mutex_trylock(mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Prototypes for other functions are in thread-posix.h/thread-win32.h. */
|
|
||||||
void qemu_rec_mutex_init(QemuRecMutex *mutex);
|
|
||||||
|
|
||||||
void qemu_cond_init(QemuCond *cond);
|
void qemu_cond_init(QemuCond *cond);
|
||||||
void qemu_cond_destroy(QemuCond *cond);
|
void qemu_cond_destroy(QemuCond *cond);
|
||||||
|
|
||||||
|
@ -124,6 +124,26 @@ void qemu_rec_mutex_init(QemuRecMutex *mutex)
|
|||||||
mutex->initialized = true;
|
mutex->initialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void qemu_rec_mutex_destroy(QemuRecMutex *mutex)
|
||||||
|
{
|
||||||
|
qemu_mutex_destroy(mutex);
|
||||||
|
}
|
||||||
|
|
||||||
|
void qemu_rec_mutex_lock_impl(QemuRecMutex *mutex, const char *file, int line)
|
||||||
|
{
|
||||||
|
qemu_mutex_lock_impl(mutex, file, line);
|
||||||
|
}
|
||||||
|
|
||||||
|
int qemu_rec_mutex_trylock_impl(QemuRecMutex *mutex, const char *file, int line)
|
||||||
|
{
|
||||||
|
return qemu_mutex_trylock_impl(mutex, file, line);
|
||||||
|
}
|
||||||
|
|
||||||
|
void qemu_rec_mutex_unlock(QemuRecMutex *mutex)
|
||||||
|
{
|
||||||
|
qemu_mutex_unlock(mutex);
|
||||||
|
}
|
||||||
|
|
||||||
void qemu_cond_init(QemuCond *cond)
|
void qemu_cond_init(QemuCond *cond)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
|
Loading…
Reference in New Issue
Block a user