On 03/11/2010 01:57 PM, Paul Brook wrote:
+struct QEMUNotifier
>  +{
>  +    void (*notify)(QEMUNotifier *notifier);
>  +};

I suggest combining this with QEMUBH.

I didn't understand this suggestion exactly, but I think it's related that I didn't understand the advantage of making QEMUNotifier a struct. Instead of using container_of, reusing QEMUBHFunc (renamed to QEMUCallbackFunc maybe?) in QEMUNotifierNode like this:

    struct QEMUNotifierNode {
        QEMUCallbackFunc notify;
        void *opaque;
        QTAILQ_ENTRY(QEMUNotifierNode) node;
    };

    void qemu_notifier_list_init(QEMUNotifierList *list);

    struct QEMUNotifierNode *
    qemu_notifier_list_add(QEMUNotifierList *list,
                           QEMUCallbackFunc notify, void *opaque);

    void qemu_notifier_list_remove(QEMUNotifierList *list,
                                   QEMUNotifierNode *notifier);

    void qemu_notifier_list_notify(QEMUNotifierList *list);

seems cleaner. You would place the QEMUNotifierNode in VncState in order to do the removal later.

Besides this, the patchset is very nice indeed.

Paolo


Reply via email to