[PATCH 2/2] btiotest: Enable deferred setup for sco sockets
From: Frédéric Dalleau <hidden>
Date: 2012-11-19 15:50:44
Subsystem:
the rest · Maintainer:
Linus Torvalds
--- test/btiotest.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/test/btiotest.c b/test/btiotest.c
index 4cafcc3..593bafc 100644
--- a/test/btiotest.c
+++ b/test/btiotest.c@@ -461,24 +461,35 @@ static void sco_connect(const char *src, const char *dst, gint disconn) } } -static void sco_listen(const char *src, gint disconn) +static void sco_listen(const char *src, gboolean defer, gint reject, + gint disconn, gint accept) { struct io_data *data; + BtIOConnect conn; + BtIOConfirm cfm; GIOChannel *sco_srv; GError *err = NULL; printf("Listening for SCO connections\n"); - data = io_data_new(NULL, -1, disconn, -1); + if (defer) { + conn = NULL; + cfm = confirm_cb; + } else { + conn = connect_cb; + cfm = NULL; + } + + data = io_data_new(NULL, reject, disconn, accept); if (src) - sco_srv = bt_io_listen(connect_cb, NULL, data, + sco_srv = bt_io_listen(conn, cfm, data, (GDestroyNotify) io_data_unref, &err, BT_IO_OPT_SOURCE, src, BT_IO_OPT_INVALID); else - sco_srv = bt_io_listen(connect_cb, NULL, data, + sco_srv = bt_io_listen(conn, cfm, data, (GDestroyNotify) io_data_unref, &err, BT_IO_OPT_INVALID);
@@ -588,7 +599,8 @@ int main(int argc, char *argv[]) if (argc > 1) sco_connect(opt_dev, argv[1], opt_disconn); else - sco_listen(opt_dev, opt_disconn); + sco_listen(opt_dev, opt_defer, opt_reject, + opt_disconn, opt_accept); } signal(SIGTERM, sig_term);
--
1.7.9.5