diff options
Diffstat (limited to 'qemu/include/sysemu/iothread.h')
-rw-r--r-- | qemu/include/sysemu/iothread.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/qemu/include/sysemu/iothread.h b/qemu/include/sysemu/iothread.h new file mode 100644 index 000000000..2eefea1cc --- /dev/null +++ b/qemu/include/sysemu/iothread.h @@ -0,0 +1,39 @@ +/* + * Event loop thread + * + * Copyright Red Hat Inc., 2013 + * + * Authors: + * Stefan Hajnoczi <stefanha@redhat.com> + * + * This work is licensed under the terms of the GNU GPL, version 2 or later. + * See the COPYING file in the top-level directory. + * + */ + +#ifndef IOTHREAD_H +#define IOTHREAD_H + +#include "block/aio.h" +#include "qemu/thread.h" + +#define TYPE_IOTHREAD "iothread" + +typedef struct { + Object parent_obj; + + QemuThread thread; + AioContext *ctx; + QemuMutex init_done_lock; + QemuCond init_done_cond; /* is thread initialization done? */ + bool stopping; + int thread_id; +} IOThread; + +#define IOTHREAD(obj) \ + OBJECT_CHECK(IOThread, obj, TYPE_IOTHREAD) + +char *iothread_get_id(IOThread *iothread); +AioContext *iothread_get_aio_context(IOThread *iothread); + +#endif /* IOTHREAD_H */ |