qemu/include/sysemu/iothread.h
<<
>>
Prefs
   1/*
   2 * Event loop thread
   3 *
   4 * Copyright Red Hat Inc., 2013
   5 *
   6 * Authors:
   7 *  Stefan Hajnoczi   <stefanha@redhat.com>
   8 *
   9 * This work is licensed under the terms of the GNU GPL, version 2 or later.
  10 * See the COPYING file in the top-level directory.
  11 *
  12 */
  13
  14#ifndef IOTHREAD_H
  15#define IOTHREAD_H
  16
  17#include "block/aio.h"
  18#include "qemu/thread.h"
  19
  20#define TYPE_IOTHREAD "iothread"
  21
  22typedef struct {
  23    Object parent_obj;
  24
  25    QemuThread thread;
  26    AioContext *ctx;
  27    QemuMutex init_done_lock;
  28    QemuCond init_done_cond;    /* is thread initialization done? */
  29    bool stopping;
  30    int thread_id;
  31} IOThread;
  32
  33#define IOTHREAD(obj) \
  34   OBJECT_CHECK(IOThread, obj, TYPE_IOTHREAD)
  35
  36char *iothread_get_id(IOThread *iothread);
  37AioContext *iothread_get_aio_context(IOThread *iothread);
  38
  39#endif /* IOTHREAD_H */
  40