mirror of
https://github.com/darlinghq/darling-libxpc.git
synced 2025-02-17 01:37:40 +00:00
![Ariel Abreu](/assets/img/avatar_default.png)
First, make xpc_log into a small wrapper over os_log; all it does differently is check whether to enable or disable XPC logging (based on whether we're in syslogd or something else that would cause a deadlock/loop). Second, add xpc_assumes (and friends) for verifying assumptions for both debug and release builds and logging a message when one fails. Third, make sure to unset the associatedConnection weak reference when deallocating dictionaries. Another fix: use objc release instead of os_object_release_internal for releasing server peers (this way, if a user retains the connection, they can release it even after the server has released it). Also, DISPATCH_MACH_DISCONNECTED is not the right place to release our internal reference. It can be called multiple times, once for each outstanding port and is not guaranteed to be called after DISPATCH_MACH_CANCELED. DISPATCH_MACH_CANCELED is actually the right place for this. Finally, DISPATCH_MACH_NO_SENDERS should not release the old send port (that's what DISPATCH_MACH_DISCONNECTED is for).
Description
Fork of NextBSD's libxpc for Darling build
Languages
Objective-C
75%
C
23.5%
CMake
1.1%
Python
0.4%