summaryrefslogtreecommitdiffstats
path: root/iothread.c
diff options
context:
space:
mode:
authorPeter Xu2017-09-28 04:59:55 +0200
committerStefan Hajnoczi2017-10-03 20:26:15 +0200
commit0173e21b617d3de1fcfa917e329bb9194ab332a4 (patch)
tree44104376f78bfd491fc3ea9bab488a2c771d54d6 /iothread.c
parentqom: provide root container for internal objs (diff)
downloadqemu-0173e21b617d3de1fcfa917e329bb9194ab332a4.tar.gz
qemu-0173e21b617d3de1fcfa917e329bb9194ab332a4.tar.xz
qemu-0173e21b617d3de1fcfa917e329bb9194ab332a4.zip
iothread: provide helpers for internal use
IOThread is a general framework that contains IO loop environment and a real thread behind. It's also good to be used internally inside qemu. Provide some helpers for it to create iothreads to be used internally. Put all the internal used iothreads into the internal object container. Reviewed-by: Fam Zheng <famz@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Peter Xu <peterx@redhat.com> Message-id: 20170928025958.1420-3-peterx@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'iothread.c')
-rw-r--r--iothread.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/iothread.c b/iothread.c
index 59d0850988..0672a9196f 100644
--- a/iothread.c
+++ b/iothread.c
@@ -354,3 +354,19 @@ GMainContext *iothread_get_g_main_context(IOThread *iothread)
return iothread->worker_context;
}
+
+IOThread *iothread_create(const char *id, Error **errp)
+{
+ Object *obj;
+
+ obj = object_new_with_props(TYPE_IOTHREAD,
+ object_get_internal_root(),
+ id, errp, NULL);
+
+ return IOTHREAD(obj);
+}
+
+void iothread_destroy(IOThread *iothread)
+{
+ object_unparent(OBJECT(iothread));
+}