diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2012-01-13 17:34:01 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2012-02-17 08:33:32 -0600 |
commit | 31552529a7eba5011dac74bab18a852860c45c9d (patch) | |
tree | dda9b8146324b71445dd563530670e6b4da8c5e4 | |
parent | c77de088b1067fc0e0df322e5bac60a3a26a0613 (diff) |
notifier: switch to QLIST
Notifiers do not need to access both ends of the list, and using
a QLIST also simplifies the API.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | input.c | 2 | ||||
-rw-r--r-- | migration.c | 2 | ||||
-rw-r--r-- | notify.c | 10 | ||||
-rw-r--r-- | notify.h | 8 | ||||
-rw-r--r-- | qemu-timer.c | 2 | ||||
-rw-r--r-- | vl.c | 2 |
6 files changed, 13 insertions, 13 deletions
@@ -268,5 +268,5 @@ void qemu_add_mouse_mode_change_notifier(Notifier *notify) void qemu_remove_mouse_mode_change_notifier(Notifier *notify) { - notifier_list_remove(&mouse_mode_notifiers, notify); + notifier_remove(notify); } diff --git a/migration.c b/migration.c index 37af438b1..00fa1e3f7 100644 --- a/migration.c +++ b/migration.c @@ -335,7 +335,7 @@ void add_migration_state_change_notifier(Notifier *notify) void remove_migration_state_change_notifier(Notifier *notify) { - notifier_list_remove(&migration_state_notifiers, notify); + notifier_remove(notify); } bool migration_is_active(MigrationState *s) @@ -18,24 +18,24 @@ void notifier_list_init(NotifierList *list) { - QTAILQ_INIT(&list->notifiers); + QLIST_INIT(&list->notifiers); } void notifier_list_add(NotifierList *list, Notifier *notifier) { - QTAILQ_INSERT_HEAD(&list->notifiers, notifier, node); + QLIST_INSERT_HEAD(&list->notifiers, notifier, node); } -void notifier_list_remove(NotifierList *list, Notifier *notifier) +void notifier_remove(Notifier *notifier) { - QTAILQ_REMOVE(&list->notifiers, notifier, node); + QLIST_REMOVE(notifier, node); } void notifier_list_notify(NotifierList *list, void *data) { Notifier *notifier, *next; - QTAILQ_FOREACH_SAFE(notifier, &list->notifiers, node, next) { + QLIST_FOREACH_SAFE(notifier, &list->notifiers, node, next) { notifier->notify(notifier, data); } } @@ -21,22 +21,22 @@ typedef struct Notifier Notifier; struct Notifier { void (*notify)(Notifier *notifier, void *data); - QTAILQ_ENTRY(Notifier) node; + QLIST_ENTRY(Notifier) node; }; typedef struct NotifierList { - QTAILQ_HEAD(, Notifier) notifiers; + QLIST_HEAD(, Notifier) notifiers; } NotifierList; #define NOTIFIER_LIST_INITIALIZER(head) \ - { QTAILQ_HEAD_INITIALIZER((head).notifiers) } + { QLIST_HEAD_INITIALIZER((head).notifiers) } void notifier_list_init(NotifierList *list); void notifier_list_add(NotifierList *list, Notifier *notifier); -void notifier_list_remove(NotifierList *list, Notifier *notifier); +void notifier_remove(Notifier *notifier); void notifier_list_notify(NotifierList *list, void *data); diff --git a/qemu-timer.c b/qemu-timer.c index a22f27e9f..d7f56e55f 100644 --- a/qemu-timer.c +++ b/qemu-timer.c @@ -453,7 +453,7 @@ void qemu_register_clock_reset_notifier(QEMUClock *clock, Notifier *notifier) void qemu_unregister_clock_reset_notifier(QEMUClock *clock, Notifier *notifier) { - notifier_list_remove(&clock->reset_notifiers, notifier); + notifier_remove(notifier); } void init_clocks(void) @@ -2093,7 +2093,7 @@ void qemu_add_exit_notifier(Notifier *notify) void qemu_remove_exit_notifier(Notifier *notify) { - notifier_list_remove(&exit_notifiers, notify); + notifier_remove(notify); } static void qemu_run_exit_notifiers(void) |