mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-25 02:52:06 -06:00
util: Use unique type for QemuRecMutex in thread-posix.h
We will shortly convert lockable.h to _Generic, and we cannot have two compatible types in the same expansion. Wrap QemuMutex in a struct, and unwrap in qemu-thread-posix.c. 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-6-richard.henderson@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
d3192460bf
commit
dc41737844
2 changed files with 14 additions and 8 deletions
|
@ -116,32 +116,32 @@ void qemu_rec_mutex_init(QemuRecMutex *mutex)
|
|||
|
||||
pthread_mutexattr_init(&attr);
|
||||
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|
||||
err = pthread_mutex_init(&mutex->lock, &attr);
|
||||
err = pthread_mutex_init(&mutex->m.lock, &attr);
|
||||
pthread_mutexattr_destroy(&attr);
|
||||
if (err) {
|
||||
error_exit(err, __func__);
|
||||
}
|
||||
mutex->initialized = true;
|
||||
mutex->m.initialized = true;
|
||||
}
|
||||
|
||||
void qemu_rec_mutex_destroy(QemuRecMutex *mutex)
|
||||
{
|
||||
qemu_mutex_destroy(mutex);
|
||||
qemu_mutex_destroy(&mutex->m);
|
||||
}
|
||||
|
||||
void qemu_rec_mutex_lock_impl(QemuRecMutex *mutex, const char *file, int line)
|
||||
{
|
||||
qemu_mutex_lock_impl(mutex, file, line);
|
||||
qemu_mutex_lock_impl(&mutex->m, file, line);
|
||||
}
|
||||
|
||||
int qemu_rec_mutex_trylock_impl(QemuRecMutex *mutex, const char *file, int line)
|
||||
{
|
||||
return qemu_mutex_trylock_impl(mutex, file, line);
|
||||
return qemu_mutex_trylock_impl(&mutex->m, file, line);
|
||||
}
|
||||
|
||||
void qemu_rec_mutex_unlock_impl(QemuRecMutex *mutex, const char *file, int line)
|
||||
{
|
||||
qemu_mutex_unlock_impl(mutex, file, line);
|
||||
qemu_mutex_unlock_impl(&mutex->m, file, line);
|
||||
}
|
||||
|
||||
void qemu_cond_init(QemuCond *cond)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue