From: Corentin Chary <corentincj@iksaif.net>
To: qemu-devel@nongnu.org
Cc: Corentin Chary <corentincj@iksaif.net>,
Anthony Liguori <aliguori@linux.vnet.ibm.com>,
Alexander Graf <agraf@suse.de>
Subject: [Qemu-devel] [PATCH 13/16] qemu-thread: add qemu_mutex/cond_destroy and qemu_mutex_exit
Date: Wed, 16 Jun 2010 09:12:10 +0200 [thread overview]
Message-ID: <1276672333-14831-14-git-send-email-corentincj@iksaif.net> (raw)
In-Reply-To: <1276672333-14831-1-git-send-email-corentincj@iksaif.net>
Add some missing functions in qemu-thread. Currently qemu-thread
is only used for io-thread but it will used by the vnc server soon
and we need those functions instead of calling pthread directly.
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
---
qemu-thread.c | 22 ++++++++++++++++++++++
qemu-thread.h | 4 ++++
2 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/qemu-thread.c b/qemu-thread.c
index faf4061..fbc78fe 100644
--- a/qemu-thread.c
+++ b/qemu-thread.c
@@ -34,6 +34,15 @@ void qemu_mutex_init(QemuMutex *mutex)
error_exit(err, __func__);
}
+void qemu_mutex_destroy(QemuMutex *mutex)
+{
+ int err;
+
+ err = pthread_mutex_destroy(&mutex->lock);
+ if (err)
+ error_exit(err, __func__);
+}
+
void qemu_mutex_lock(QemuMutex *mutex)
{
int err;
@@ -90,6 +99,15 @@ void qemu_cond_init(QemuCond *cond)
error_exit(err, __func__);
}
+void qemu_cond_destroy(QemuCond *cond)
+{
+ int err;
+
+ err = pthread_cond_destroy(&cond->cond);
+ if (err)
+ error_exit(err, __func__);
+}
+
void qemu_cond_signal(QemuCond *cond)
{
int err;
@@ -168,3 +186,7 @@ int qemu_thread_equal(QemuThread *thread1, QemuThread *thread2)
return pthread_equal(thread1->thread, thread2->thread);
}
+void qemu_thread_exit(void *retval)
+{
+ pthread_exit(retval);
+}
diff --git a/qemu-thread.h b/qemu-thread.h
index 5ef4a3a..19bb30c 100644
--- a/qemu-thread.h
+++ b/qemu-thread.h
@@ -20,12 +20,14 @@ typedef struct QemuCond QemuCond;
typedef struct QemuThread QemuThread;
void qemu_mutex_init(QemuMutex *mutex);
+void qemu_mutex_destroy(QemuMutex *mutex);
void qemu_mutex_lock(QemuMutex *mutex);
int qemu_mutex_trylock(QemuMutex *mutex);
int qemu_mutex_timedlock(QemuMutex *mutex, uint64_t msecs);
void qemu_mutex_unlock(QemuMutex *mutex);
void qemu_cond_init(QemuCond *cond);
+void qemu_cond_destroy(QemuCond *cond);
void qemu_cond_signal(QemuCond *cond);
void qemu_cond_broadcast(QemuCond *cond);
void qemu_cond_wait(QemuCond *cond, QemuMutex *mutex);
@@ -37,4 +39,6 @@ void qemu_thread_create(QemuThread *thread,
void qemu_thread_signal(QemuThread *thread, int sig);
void qemu_thread_self(QemuThread *thread);
int qemu_thread_equal(QemuThread *thread1, QemuThread *thread2);
+void qemu_thread_exit(void *retval);
+
#endif
--
1.7.1
next prev parent reply other threads:[~2010-06-16 6:12 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-16 7:11 [Qemu-devel] [PATCH 00/16] VNC updates for 0.13 Corentin Chary
2010-06-16 7:11 ` [Qemu-devel] [PATCH 01/16] vnc: tight: add JPEG and gradient subencoding with smooth image detection Corentin Chary
2010-06-16 13:18 ` [Qemu-devel] " Juan Quintela
2010-06-16 13:56 ` Corentin Chary
2010-06-16 7:11 ` [Qemu-devel] [PATCH 02/16] vnc: JPEG should be disabled if the client don't set tight quality Corentin Chary
2010-06-16 7:12 ` [Qemu-devel] [PATCH 03/16] vnc: add lossy option Corentin Chary
2010-06-16 7:12 ` [Qemu-devel] [PATCH 04/16] ui: move all ui components in ui/ Corentin Chary
2010-06-16 7:12 ` [Qemu-devel] [PATCH 05/16] vnc: rename vnc-encoding-* vnc-enc-* Corentin Chary
2010-06-16 7:12 ` [Qemu-devel] [PATCH 06/16] vnc: tight: don't forget do at the last color Corentin Chary
2010-06-16 7:12 ` [Qemu-devel] [PATCH 07/16] vnc: tight: remove a memleak in send_jpeg_rect() Corentin Chary
2010-06-16 7:12 ` [Qemu-devel] [PATCH 08/16] vnc: tight add PNG encoding Corentin Chary
2010-06-16 7:12 ` [Qemu-devel] [PATCH 09/16] vnc: tight: specific zlib level and filters for each compression level Corentin Chary
2010-06-16 7:12 ` [Qemu-devel] [PATCH 10/16] vnc: tight: stop using qdict for palette stuff Corentin Chary
2010-06-16 7:12 ` [Qemu-devel] [PATCH 11/16] vnc: encapsulate encoding members Corentin Chary
2010-06-16 7:12 ` [Qemu-devel] [PATCH 12/16] vnc: fix tight png memory leak Corentin Chary
2010-06-16 7:12 ` Corentin Chary [this message]
2010-06-16 7:12 ` [Qemu-devel] [PATCH 14/16] vnc: threaded VNC server Corentin Chary
2010-06-16 7:12 ` [Qemu-devel] [PATCH 15/16] vnc: add missing lock for vnc_cursor_define() Corentin Chary
2010-06-16 7:12 ` [Qemu-devel] [PATCH 16/16] vnc: tight: don't limit png rect size Corentin Chary
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1276672333-14831-14-git-send-email-corentincj@iksaif.net \
--to=corentincj@iksaif.net \
--cc=agraf@suse.de \
--cc=aliguori@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).