Post

Replies

Boosts

Views

Activity

Userclient Exclusivity Under DriverKit
We have run userclients under the KEXT umbrella for two decades now. We have guaranteed access to a single user client at a time internally with explicit userclient open and close external methods and an 'opened' state variable maintained in the driver itself. In the event that a client failed to close it's connection, because of a logic fault or crash, the exclusion variable would be cleared when the clientDied method was called. In the land of the DEXT, the userclient is no longer explicitly associated with a particular task nor is there a standard clientDied type notification. Is there any implicit guarantee of exclusive access to the driver through the userclient that we do not make our selves? In other words, if I had several suitably entitled client apps, could they potentially interleave their accesses in concurrent sessions so as to interfere? If I find it necessary to prevent concurrent access, is there any guarantee that open IOService connections to userclients will be closed if the app terminates sloppily or unexpectedly? Thanks, John Brisbin
0
0
532
Aug ’22