1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-11-29 07:24:13 +01:00
LibrePilot/ground
Stefan Karlsson 6504ce448e LP-155 Workaround failing callback deregistration
Deregistration of hid_device_removal_callback fails because the call to
IOHIDDeviceRegisterRemovalCallback doesn't deregister it as it should.

This causes crashes when hid_device_removal_callback is called after
the read_thread has been shutdown.

This patch works around this problem by:

1) Letting the 'dev' hid_device, so that the callback can safely
   read the struct, even after the read_thread has been shut down
   and the memory should have been freed.

2) Making sure that the two racing callbacks that previously
   called CFRunLoopStop, hid_device_removal_callback and
   perform_signal_callback, now synchronize and make sure
    that CFRunLoopStop is only called once.
2015-10-15 22:11:53 +02:00
..
gcs LP-155 Workaround failing callback deregistration 2015-10-15 22:11:53 +02:00
uavobjgenerator Merged in rbekken/librepilot/bug (pull request #18) 2015-08-09 21:01:58 +01:00
usagetracker/backend GCS: Add backend for usagetracker. 2015-09-23 17:10:01 +02:00
.gitattributes OP-910: fix line endings and whitespaces (didn't work on Linux) 2013-06-05 23:21:54 +03:00
ground.pro LP-1 - Rebranding 2015-08-04 16:55:12 +02:00