qemu/util/event_notifier-win32.c
<<
>>
Prefs
   1/*
   2 * event notifier support
   3 *
   4 * Copyright Red Hat, Inc. 2010
   5 *
   6 * Authors:
   7 *  Michael S. Tsirkin <mst@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#include "qemu/osdep.h"
  14#include "qemu-common.h"
  15#include "qemu/event_notifier.h"
  16#include "qemu/main-loop.h"
  17
  18int event_notifier_init(EventNotifier *e, int active)
  19{
  20    e->event = CreateEvent(NULL, TRUE, FALSE, NULL);
  21    assert(e->event);
  22    return 0;
  23}
  24
  25void event_notifier_cleanup(EventNotifier *e)
  26{
  27    CloseHandle(e->event);
  28    e->event = NULL;
  29}
  30
  31HANDLE event_notifier_get_handle(EventNotifier *e)
  32{
  33    return e->event;
  34}
  35
  36int event_notifier_set(EventNotifier *e)
  37{
  38    SetEvent(e->event);
  39    return 0;
  40}
  41
  42int event_notifier_test_and_clear(EventNotifier *e)
  43{
  44    int ret = WaitForSingleObject(e->event, 0);
  45    if (ret == WAIT_OBJECT_0) {
  46        ResetEvent(e->event);
  47        return true;
  48    }
  49    return false;
  50}
  51