Diff between 7d6bc43bca25515f46a7dc6829ec1c65bdf7b507 and 8203def2864764c14da1a98d0fe0714b931485e8

Changed Files

File Additions Deletions Status
Makefile.tools +2 -0 modified
tools/ibeacon.c +7 -5 modified

Full Patch

diff --git a/Makefile.tools b/Makefile.tools
index 00a70a5..0583f3b 100644
--- a/Makefile.tools
+++ b/Makefile.tools
@@ -324,6 +324,8 @@ tools_seq2bseq_SOURCES = tools/seq2bseq.c
 tools_ibeacon_SOURCES = tools/ibeacon.c monitor/bt.h \
 				monitor/mainloop.h monitor/mainloop.c \
 				src/shared/io.h src/shared/io-mainloop.c \
+				src/shared/timeout.h \
+				src/shared/timeout-mainloop.c \
 				src/shared/hci.h src/shared/hci.c \
 				src/shared/util.h src/shared/util.c \
 				src/shared/queue.h src/shared/queue.c
diff --git a/tools/ibeacon.c b/tools/ibeacon.c
index 093fba1..28967de 100644
--- a/tools/ibeacon.c
+++ b/tools/ibeacon.c
@@ -38,24 +38,26 @@
 
 #include "monitor/mainloop.h"
 #include "monitor/bt.h"
+#include "src/shared/timeout.h"
 #include "src/shared/util.h"
 #include "src/shared/hci.h"
 
 static int urandom_fd;
 static struct bt_hci *hci_dev;
 
-static void shutdown_timeout(int id, void *user_data)
+static bool shutdown_timeout(void *user_data)
 {
-	mainloop_remove_timeout(id);
-
 	mainloop_quit();
+
+	return false;
 }
 
 static void shutdown_complete(const void *data, uint8_t size, void *user_data)
 {
 	unsigned int id = PTR_TO_UINT(user_data);
 
-	shutdown_timeout(id, NULL);
+	timeout_remove(id);
+	mainloop_quit();
 }
 
 static void shutdown_device(void)
@@ -65,7 +67,7 @@ static void shutdown_device(void)
 
 	bt_hci_flush(hci_dev);
 
-	id = mainloop_add_timeout(5000, shutdown_timeout, NULL, NULL);
+	id = timeout_add(5000, shutdown_timeout, NULL, NULL);
 
 	bt_hci_send(hci_dev, BT_HCI_CMD_LE_SET_ADV_ENABLE,
 					&enable, 1, NULL, NULL, NULL);