diff --git a/profiles/audio/bap.c b/profiles/audio/bap.c
index a37e62f..fd9b751 100644
--- a/profiles/audio/bap.c
+++ b/profiles/audio/bap.c
#include "src/btd.h"
#include "src/dbus-common.h"
#include "src/shared/util.h"
+#include "src/shared/io.h"
#include "src/shared/att.h"
#include "src/shared/queue.h"
#include "src/shared/gatt-db.h"
queue_foreach(sessions, recreate_cig_session, &info);
}
-static gboolean setup_io_disconnected(GIOChannel *io, GIOCondition cond,
- gpointer user_data)
+static void setup_io_disconnected(int cond, void *user_data)
{
struct bap_setup *setup = user_data;
/* Check if connecting recreate IO */
if (!is_cig_busy(setup->ep->data, setup->qos.ucast.cig_id))
recreate_cig(setup);
-
- return FALSE;
}
static void bap_connect_bcast_io_cb(GIOChannel *chan, GError *err,
return;
}
- setup->io_id = g_io_add_watch(io, G_IO_HUP | G_IO_ERR | G_IO_NVAL,
- setup_io_disconnected, setup);
+ setup->io_id = io_glib_add_err_watch(io, setup_io_disconnected, setup);
setup->io = io;
setup->cig_active = !defer;
return;
}
- setup->io_id = g_io_add_watch(io, G_IO_HUP | G_IO_ERR | G_IO_NVAL,
- setup_io_disconnected, setup);
+ setup->io_id = io_glib_add_err_watch(io, setup_io_disconnected, setup);
setup->io = io;
if (!setup->io) {
io = g_io_channel_unix_new(fd);
- setup->io_id = g_io_add_watch(io,
- G_IO_HUP | G_IO_ERR | G_IO_NVAL,
- setup_io_disconnected, setup);
+ setup->io_id = io_glib_add_err_watch(io, setup_io_disconnected,
+ setup);
setup->io = io;
} else
io = setup->io;
if (!setup->io) {
io = g_io_channel_unix_new(fd);
- setup->io_id = g_io_add_watch(io,
- G_IO_HUP | G_IO_ERR | G_IO_NVAL,
- setup_io_disconnected, setup);
+ setup->io_id = io_glib_add_err_watch(io, setup_io_disconnected,
+ setup);
setup->io = io;
} else
io = setup->io;
diff --git a/src/shared/bap.c b/src/shared/bap.c
index be35c2e..3758aa0 100644
--- a/src/shared/bap.c
+++ b/src/shared/bap.c
DBG(bap, "fd %d", fd);
+ io_set_ignore_errqueue(io, true);
+
sio = new0(struct bt_bap_stream_io, 1);
sio->bap = bap;
sio->io = io;