Commit 922ef483 authored by Marc-André Lureau's avatar Marc-André Lureau Committed by Michael S. Tsirkin
Browse files

libvhost-user-glib: export vug_source_new()



Simplify the creation of FD sources for other users. This is just
convenience to avoid duplicating similar code elsewhere.

Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20190308140454.32437-10-marcandre.lureau@redhat.com>
Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent 9af84c02
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -68,15 +68,16 @@ static GSourceFuncs vug_src_funcs = {
    NULL
};

static GSource *
vug_source_new(VuDev *dev, int fd, GIOCondition cond,
GSource *
vug_source_new(VugDev *gdev, int fd, GIOCondition cond,
               vu_watch_cb vu_cb, gpointer data)
{
    VuDev *dev = &gdev->parent;
    GSource *gsrc;
    VugSrc *src;
    guint id;

    g_assert(dev);
    g_assert(gdev);
    g_assert(fd >= 0);
    g_assert(vu_cb);

@@ -106,7 +107,7 @@ set_watch(VuDev *vu_dev, int fd, int vu_evt, vu_watch_cb cb, void *pvt)
    g_assert(cb);

    dev = container_of(vu_dev, VugDev, parent);
    src = vug_source_new(vu_dev, fd, vu_evt, cb, pvt);
    src = vug_source_new(dev, fd, vu_evt, cb, pvt);
    g_hash_table_replace(dev->fdmap, GINT_TO_POINTER(fd), src);
}

@@ -141,7 +142,7 @@ vug_init(VugDev *dev, int socket,
    dev->fdmap = g_hash_table_new_full(NULL, NULL, NULL,
                                       (GDestroyNotify) g_source_destroy);

    dev->src = vug_source_new(&dev->parent, socket, G_IO_IN, vug_watch, NULL);
    dev->src = vug_source_new(dev, socket, G_IO_IN, vug_watch, NULL);
}

void
+3 −0
Original line number Diff line number Diff line
@@ -29,4 +29,7 @@ void vug_init(VugDev *dev, int socket,
              vu_panic_cb panic, const VuDevIface *iface);
void vug_deinit(VugDev *dev);

GSource *vug_source_new(VugDev *dev, int fd, GIOCondition cond,
                        vu_watch_cb vu_cb, gpointer data);

#endif /* LIBVHOST_USER_GLIB_H */