aboutsummaryrefslogtreecommitdiff
path: root/qemu-thread-posix.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2011-03-12 17:43:54 +0100
committerBlue Swirl <blauwirbel@gmail.com>2011-03-13 14:44:21 +0000
commit89b48b56812a1a2d5b7edc927a7853d952e7fb38 (patch)
tree99c0949e319a2e0a3e76179b76eaf8a1f966c700 /qemu-thread-posix.c
parent96284e8973fe8d8556ef5d4aefa0807b9f22907c (diff)
downloadqemu-89b48b56812a1a2d5b7edc927a7853d952e7fb38.zip
qemu-89b48b56812a1a2d5b7edc927a7853d952e7fb38.tar.gz
qemu-89b48b56812a1a2d5b7edc927a7853d952e7fb38.tar.bz2
add assertions on the owner of a QemuMutex
These are already present in the Win32 implementation, add them to the pthread wrappers as well. Use PTHREAD_MUTEX_ERRORCHECK for mutex operations. Later we'll add tracking of the owner for cond_signal/broadcast. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'qemu-thread-posix.c')
-rw-r--r--qemu-thread-posix.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/qemu-thread-posix.c b/qemu-thread-posix.c
index e307773..8b54cc0 100644
--- a/qemu-thread-posix.c
+++ b/qemu-thread-posix.c
@@ -28,8 +28,12 @@ static void error_exit(int err, const char *msg)
void qemu_mutex_init(QemuMutex *mutex)
{
int err;
+ pthread_mutexattr_t mutexattr;
- err = pthread_mutex_init(&mutex->lock, NULL);
+ pthread_mutexattr_init(&mutexattr);
+ pthread_mutexattr_settype(&mutexattr, PTHREAD_MUTEX_ERRORCHECK);
+ err = pthread_mutex_init(&mutex->lock, &mutexattr);
+ pthread_mutexattr_destroy(&mutexattr);
if (err)
error_exit(err, __func__);
}