cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

event_notifier-win32.c (986B)


      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}