[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH uq/master 2/9] event_notifier: remove event_notifier
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH uq/master 2/9] event_notifier: remove event_notifier_test |
Date: |
Thu, 5 Jul 2012 17:16:23 +0200 |
This is broken; since the eventfd is used in nonblocking mode there
is a race between reading and writing.
Signed-off-by: Paolo Bonzini <address@hidden>
---
event_notifier.c | 15 ---------------
event_notifier.h | 1 -
2 files changed, 16 deletions(-)
diff --git a/event_notifier.c b/event_notifier.c
index 2b210f4..c339bfe 100644
--- a/event_notifier.c
+++ b/event_notifier.c
@@ -51,18 +51,3 @@ int event_notifier_test_and_clear(EventNotifier *e)
int r = read(e->fd, &value, sizeof(value));
return r == sizeof(value);
}
-
-int event_notifier_test(EventNotifier *e)
-{
- uint64_t value;
- int r = read(e->fd, &value, sizeof(value));
- if (r == sizeof(value)) {
- /* restore previous value. */
- int s = write(e->fd, &value, sizeof(value));
- /* never blocks because we use EFD_SEMAPHORE.
- * If we didn't we'd get EAGAIN on overflow
- * and we'd have to write code to ignore it. */
- assert(s == sizeof(value));
- }
- return r == sizeof(value);
-}
diff --git a/event_notifier.h b/event_notifier.h
index efca852..9b2edf4 100644
--- a/event_notifier.h
+++ b/event_notifier.h
@@ -24,6 +24,5 @@ void event_notifier_cleanup(EventNotifier *);
int event_notifier_get_fd(EventNotifier *);
int event_notifier_set(EventNotifier *);
int event_notifier_test_and_clear(EventNotifier *);
-int event_notifier_test(EventNotifier *);
#endif
--
1.7.10.2
[Qemu-devel] [PATCH uq/master 4/9] ivshmem: use EventNotifier and memory API, Paolo Bonzini, 2012/07/05
[Qemu-devel] [PATCH uq/master 6/9] memory: pass EventNotifier, not eventfd, Paolo Bonzini, 2012/07/05
[Qemu-devel] [PATCH uq/master 5/9] ivshmem: wrap ivshmem_del_eventfd loops with transaction, Paolo Bonzini, 2012/07/05
[Qemu-devel] [PATCH uq/master 8/9] virtio: move common ioeventfd handling out of virtio-pci, Paolo Bonzini, 2012/07/05
[Qemu-devel] [PATCH uq/master 9/9] virtio: move common irqfd handling out of virtio-pci, Paolo Bonzini, 2012/07/05
[Qemu-devel] [PATCH uq/master 7/9] event_notifier: add event_notifier_set_handler, Paolo Bonzini, 2012/07/05