core: extend nm_shutdown_wait_obj_*() to support waiting with explicit unregister
The previous to wait-types (NM_SHUTDOWN_WAIT_TYPE_OBJECT and NM_SHUTDOWN_WAIT_TYPE_CANCELLABLE) both required a GObject/GCancellable, and the shutdown was automatically unblocked when the object got destroyed. Add another wait type NM_SHUTDOWN_WAIT_TYPE_HANDLE, which does not take an object to wait. Instead, shutdown is indefinitely blocked, until the user unregisters the handle again. While other wait-types allow to ignore the handle, this wait-type only makes sense if the user keeps track of the handle.
Showing with 21 additions and 3 deletions