RehabMan / OS-X-ACPI-Battery-Driver

Implements an Advanced Configuration and Power Interface (ACPI) based battery manager kernel extension (kext/driver) for non-Apple laptops running OS X.
Other
178 stars 58 forks source link

Deadlock with notifyBatteryManagers #3

Closed RehabMan closed 10 years ago

RehabMan commented 10 years ago

Evidently, on some machines this is not called on the workloop thread. When the target code calls back into check if there are any batteries discharging (from another thread), it results in deadlock (locking battery tracker IORecursiveLock) and battery status updates stop.

Will need to push this through a command gate, such that the code is executed on the workloop thread.

Note: I already have a fix for this sitting on the machine that I discovered it with, but that machine doesn't have network access, so it will be a bit...

RehabMan commented 10 years ago

Fixed in 1.52.