From 6f6484fb4565cb7378f610d736ea8263652f67c5 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Wed, 11 Jul 2012 14:13:22 +0200 Subject: libusbmuxd: Add function to allow dis-/enabling inotify support (Linux only) --- libusbmuxd/libusbmuxd.c | 14 ++++++++++++++ libusbmuxd/usbmuxd.h | 8 ++++++++ 2 files changed, 22 insertions(+) diff --git a/libusbmuxd/libusbmuxd.c b/libusbmuxd/libusbmuxd.c index 6417543..956dd90 100644 --- a/libusbmuxd/libusbmuxd.c +++ b/libusbmuxd/libusbmuxd.c @@ -417,12 +417,18 @@ static int usbmuxd_listen_poll() } #ifdef HAVE_INOTIFY +static int use_inotify = 1; + static int usbmuxd_listen_inotify() { int inot_fd; int watch_d; int sfd; + if (!use_inotify) { + return -2; + } + sfd = connect_usbmuxd_socket(); if (sfd >= 0) return sfd; @@ -943,6 +949,14 @@ int usbmuxd_recv(int sfd, char *data, uint32_t len, uint32_t *recv_bytes) return usbmuxd_recv_timeout(sfd, data, len, recv_bytes, 5000); } +void libusbmuxd_set_use_inotify(int set) +{ +#ifdef HAVE_INOTIFY + use_inotify = set; +#endif + return; +} + void libusbmuxd_set_debug_level(int level) { libusbmuxd_debug = level; diff --git a/libusbmuxd/usbmuxd.h b/libusbmuxd/usbmuxd.h index d0dccef..0f7b862 100644 --- a/libusbmuxd/usbmuxd.h +++ b/libusbmuxd/usbmuxd.h @@ -174,6 +174,14 @@ int usbmuxd_recv_timeout(int sfd, char *data, uint32_t len, uint32_t *recv_bytes */ int usbmuxd_recv(int sfd, char *data, uint32_t len, uint32_t *recv_bytes); +/** + * Enable or disable the use of inotify extension. Enabled by default. + * Use 0 to disable and 1 to enable inotify support. + * This only has an effect on linux systems if inotify support has been built + * in. Otherwise and on all other platforms this function has no effect. + */ +void libusbmuxd_set_use_inotify(int set); + void libusbmuxd_set_debug_level(int level); #ifdef __cplusplus -- cgit v1.1-32-gdbae