You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The MacOS BLE Scan() method blocks until all queued instances of the
callback function finish. This created a deadlock, since the callback
function would try to write a matching advertisement to an unbuffered
channel, and the unbuffered channel would not be read until Scan()
completed.
To fix the problem, this commit makes the channel buffered, allowing the
callback function to succeed on the first match. The callback handles
subsequent matches by detecting that the scan context has been
canceled and returning.
This commit also uprevs the BLE package. This was previously impossible
because we relied on the device.Connect method, which is broken
upstream on MacOS.
0 commit comments