summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libusbmuxd/libusbmuxd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libusbmuxd/libusbmuxd.c b/libusbmuxd/libusbmuxd.c
index 98e92df..a6a8c86 100644
--- a/libusbmuxd/libusbmuxd.c
+++ b/libusbmuxd/libusbmuxd.c
@@ -71,6 +71,7 @@ static usbmuxd_event_cb_t event_cb = NULL;
71HANDLE devmon = NULL; 71HANDLE devmon = NULL;
72#else 72#else
73pthread_t devmon; 73pthread_t devmon;
74pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
74#endif 75#endif
75static int listenfd = -1; 76static int listenfd = -1;
76 77
@@ -526,6 +527,7 @@ int get_next_event(int sfd, usbmuxd_event_cb_t callback, void *user_data)
526 FOREACH(usbmuxd_device_info_t *dev, &devices) { 527 FOREACH(usbmuxd_device_info_t *dev, &devices) {
527 generate_event(callback, dev, UE_DEVICE_REMOVE, user_data); 528 generate_event(callback, dev, UE_DEVICE_REMOVE, user_data);
528 collection_remove(&devices, dev); 529 collection_remove(&devices, dev);
530 free(dev);
529 } ENDFOREACH 531 } ENDFOREACH
530 return -EIO; 532 return -EIO;
531 } 533 }
@@ -563,6 +565,7 @@ int get_next_event(int sfd, usbmuxd_event_cb_t callback, void *user_data)
563 } else { 565 } else {
564 generate_event(callback, devinfo, UE_DEVICE_REMOVE, user_data); 566 generate_event(callback, devinfo, UE_DEVICE_REMOVE, user_data);
565 collection_remove(&devices, devinfo); 567 collection_remove(&devices, devinfo);
568 free(devinfo);
566 } 569 }
567 } else { 570 } else {
568 fprintf(stderr, "%s: Unexpected message type %d length %d received!\n", __func__, hdr.message, hdr.length); 571 fprintf(stderr, "%s: Unexpected message type %d length %d received!\n", __func__, hdr.message, hdr.length);