qemu
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/event_notifier.h"15#include "qemu/main-loop.h"16
17int event_notifier_init(EventNotifier *e, int active)18{
19e->event = CreateEvent(NULL, TRUE, FALSE, NULL);20assert(e->event);21return 0;22}
23
24void event_notifier_cleanup(EventNotifier *e)25{
26CloseHandle(e->event);27e->event = NULL;28}
29
30HANDLE event_notifier_get_handle(EventNotifier *e)31{
32return e->event;33}
34
35int event_notifier_set(EventNotifier *e)36{
37SetEvent(e->event);38return 0;39}
40
41int event_notifier_test_and_clear(EventNotifier *e)42{
43int ret = WaitForSingleObject(e->event, 0);44if (ret == WAIT_OBJECT_0) {45ResetEvent(e->event);46return true;47}48return false;49}
50