[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/3] iothread: provide helpers for internal use
From: |
Peter Xu |
Subject: |
[Qemu-devel] [PATCH 1/3] iothread: provide helpers for internal use |
Date: |
Fri, 22 Sep 2017 16:56:10 +0800 |
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.
Signed-off-by: Peter Xu <address@hidden>
---
include/sysemu/iothread.h | 8 ++++++++
iothread.c | 21 +++++++++++++++++++++
2 files changed, 29 insertions(+)
diff --git a/include/sysemu/iothread.h b/include/sysemu/iothread.h
index d2985b3..b07663f 100644
--- a/include/sysemu/iothread.h
+++ b/include/sysemu/iothread.h
@@ -46,4 +46,12 @@ AioContext *iothread_get_aio_context(IOThread *iothread);
void iothread_stop_all(void);
GMainContext *iothread_get_g_main_context(IOThread *iothread);
+/*
+ * Helpers used to allocate iothreads for internal use. These
+ * iothreads will not be seen by monitor clients when query using
+ * "query-iothreads".
+ */
+IOThread *iothread_create(const char *id, Error **errp);
+void iothread_destroy(IOThread *iothread);
+
#endif /* IOTHREAD_H */
diff --git a/iothread.c b/iothread.c
index 44c8944..74e400c 100644
--- a/iothread.c
+++ b/iothread.c
@@ -354,3 +354,24 @@ GMainContext *iothread_get_g_main_context(IOThread
*iothread)
return iothread->worker_context;
}
+
+static Object *iothread_get_internal_parent(void)
+{
+ return container_get(object_get_root(), "/internal-iothreads");
+}
+
+IOThread *iothread_create(const char *id, Error **errp)
+{
+ Object *obj;
+
+ obj = object_new_with_props(TYPE_IOTHREAD,
+ iothread_get_internal_parent(),
+ id, errp, NULL);
+
+ return IOTHREAD(obj);
+}
+
+void iothread_destroy(IOThread *iothread)
+{
+ object_unparent(OBJECT(iothread));
+}
--
2.7.4
- [Qemu-devel] [PATCH 0/3] iothread: allow to create internal iothreads, Peter Xu, 2017/09/22
- [Qemu-devel] [PATCH 1/3] iothread: provide helpers for internal use,
Peter Xu <=
- Re: [Qemu-devel] [PATCH 1/3] iothread: provide helpers for internal use, Daniel P. Berrange, 2017/09/22
- Re: [Qemu-devel] [PATCH 1/3] iothread: provide helpers for internal use, Peter Xu, 2017/09/22
- Re: [Qemu-devel] [PATCH 1/3] iothread: provide helpers for internal use, Daniel P. Berrange, 2017/09/22
- Re: [Qemu-devel] [PATCH 1/3] iothread: provide helpers for internal use, Paolo Bonzini, 2017/09/22
- Re: [Qemu-devel] [PATCH 1/3] iothread: provide helpers for internal use, Daniel P. Berrange, 2017/09/22
- Re: [Qemu-devel] [PATCH 1/3] iothread: provide helpers for internal use, Paolo Bonzini, 2017/09/22
- Re: [Qemu-devel] [PATCH 1/3] iothread: provide helpers for internal use, Daniel P. Berrange, 2017/09/22
- Re: [Qemu-devel] [PATCH 1/3] iothread: provide helpers for internal use, Fam Zheng, 2017/09/22
- Re: [Qemu-devel] [PATCH 1/3] iothread: provide helpers for internal use, Paolo Bonzini, 2017/09/22
- Re: [Qemu-devel] [PATCH 1/3] iothread: provide helpers for internal use, Peter Xu, 2017/09/22