I think unregisterRequest should be deprecated and be replaced by a new function that behaves as the new registerRequest, including also the relinquish() call within.
Since the unregisterRequest method is meant to be used only when the request is no longer needed, it shouldn't wait anymore, so a relinquish() call should be implicit. Otherwise it would fall into a double wait() when the destructor gets called.
I think unregisterRequest should be deprecated and be replaced by a new function that behaves as the new registerRequest, including also the relinquish() call within.
Since the unregisterRequest method is meant to be used only when the request is no longer needed, it shouldn't wait anymore, so a relinquish() call should be implicit. Otherwise it would fall into a double wait() when the destructor gets called.