summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2012-01-13 17:34:01 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2012-02-17 08:33:32 -0600
commit31552529a7eba5011dac74bab18a852860c45c9d (patch)
treedda9b8146324b71445dd563530670e6b4da8c5e4
parentc77de088b1067fc0e0df322e5bac60a3a26a0613 (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.c2
-rw-r--r--migration.c2
-rw-r--r--notify.c10
-rw-r--r--notify.h8
-rw-r--r--qemu-timer.c2
-rw-r--r--vl.c2
6 files changed, 13 insertions, 13 deletions
diff --git a/input.c b/input.c
index 9ade63f648..b618ea4c1c 100644
--- a/input.c
+++ b/input.c
@@ -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 37af438b19..00fa1e3f72 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)
diff --git a/notify.c b/notify.c
index c104495537..12282a6745 100644
--- a/notify.c
+++ b/notify.c
@@ -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);
}
}
diff --git a/notify.h b/notify.h
index 54fc57cec1..03cf26c0b6 100644
--- a/notify.h
+++ b/notify.h
@@ -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 a22f27e9f8..d7f56e55f9 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)
diff --git a/vl.c b/vl.c
index 9609d2bee8..d8a521afe2 100644
--- a/vl.c
+++ b/vl.c
@@ -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)