inotify: Work around race condition by adding a retry loop

In certain circumstances usbmuxd might not have been started up when the
socket file creation event has occured. This causes connect_usbmuxd_socket()
to fail and usbmuxd_listen_inotify() is invoked again, but the socket file
creation event will not occur anymore. To fix this we retry to connect to
usbmuxd after waiting a second in case the first connection attempt failed
(with a maximum of 10 retries).
diff --git a/src/libusbmuxd.c b/src/libusbmuxd.c
index d38d850..af8636b 100644
--- a/src/libusbmuxd.c
+++ b/src/libusbmuxd.c
@@ -574,7 +574,14 @@
 			    pevent->len &&
 			    pevent->name[0] != 0 &&
 			    strcmp(pevent->name, USBMUXD_SOCKET_NAME) == 0) {
-				sfd = connect_usbmuxd_socket ();
+				/* retry if usbmuxd isn't ready yet */
+				int retry = 10;
+				while (--retry >= 0) {
+					if ((sfd = connect_usbmuxd_socket ()) >= 0) {
+						break;
+					}
+					sleep(1);
+				}
 				goto end;
 			}
 			i += EVENT_SIZE + pevent->len;