diff --git a/.gitignore b/.gitignore index f7c8fbc..90c3a06 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ docs/*.html build src/*.dmg.c .idea +src/stage2/ diff --git a/src/devhelper.c b/src/devhelper.c index eee6e26..7765767 100644 --- a/src/devhelper.c +++ b/src/devhelper.c @@ -37,6 +37,7 @@ #include irecv_device_event_context_t irecvctx = NULL; +usbmuxd_subscription_context_t usbmuxdctx = NULL; void devinfo_free(devinfo_t *dev) { free(dev->buildVersion); @@ -87,16 +88,17 @@ bool cpid_is_arm64(unsigned int cpid) { int subscribe_cmd(usbmuxd_event_cb_t device_event_cb, irecv_device_event_cb_t irecv_event_cb) { - usbmuxd_subscribe(device_event_cb, NULL); + usbmuxd_events_subscribe(&usbmuxdctx, device_event_cb, NULL); irecv_device_event_subscribe(&irecvctx, irecv_event_cb, NULL); return 0; } int unsubscribe_cmd() { - usbmuxd_unsubscribe(); + usbmuxd_events_unsubscribe(usbmuxdctx); irecv_device_event_unsubscribe(irecvctx); irecvctx = NULL; + usbmuxdctx = NULL; return 0; } diff --git a/src/dfuhelper.c b/src/dfuhelper.c index 66169e1..8472070 100644 --- a/src/dfuhelper.c +++ b/src/dfuhelper.c @@ -217,8 +217,8 @@ void irecv_device_event_cb(const irecv_device_event_t *event, void* userdata) { void *dfuhelper(void* ptr) { dfuhelper_thr_running = true; - subscribe_cmd(device_event_cb, irecv_device_event_cb); set_spin(1); + subscribe_cmd(device_event_cb, irecv_device_event_cb); while (get_spin()) { sleep(1); };