From 72a919e9b1ae03645a63e27dfa6f4190ade6c924 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Thu, 19 May 2005 17:06:50 +0000 Subject: Detect hangup in connect mode --- test/l2test.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/test/l2test.c b/test/l2test.c index f3ff2bc4..8d337a9d 100644 --- a/test/l2test.c +++ b/test/l2test.c @@ -275,6 +275,9 @@ static int do_connect(char *svr) opts.imtu, opts.omtu, opts.flush_to, opts.mode, conn.hci_handle, conn.dev_class[2], conn.dev_class[1], conn.dev_class[0]); + if (data_size > opts.omtu) + data_size = opts.omtu; + return sk; error: @@ -625,12 +628,24 @@ static void reconnect_mode(char *svr) static void connect_mode(char *svr) { + struct pollfd p; int sk; if ((sk = do_connect(svr)) < 0) exit(1); - sleep(99999999); + p.fd = sk; + p.events = POLLERR | POLLHUP; + + while (1) { + p.revents = 0; + if (poll(&p, 1, 100)) + break; + } + + syslog(LOG_INFO, "Disconnected"); + + close(sk); } static void multi_connect_mode(char *svr) -- cgit