Thanks Kevin, that clears it up - particularly where the completion timestamp is actually recorded.
The underlying goal is to validate safe shutdown of our USB DriverKit driver. We want to check that it stops accepting requests, lets outstanding work finish, and only then releases resources and calls inherited Stop, following your earlier guidance.
I think we made the timing question more exacting than it needed to be. We don’t need to identify the precise instant USB activity ends; we need to verify the cleanup ordering and measure how long the sequence takes.
We’ll keep the lifecycle ordering checks separate from the timing measurements, then use repeated tests on real machines to establish observed ranges and look for stalls or races. Those measurements won’t establish universal timing guarantees, but they should give us useful practical evidence and we are dealing with a known-set of devices, 10 unique models, so that is a very manageable set.
Thanks again for the explanation and your patience - I think we have enough to work from here.
Topic:
App & System Services
SubTopic:
Drivers
Tags: