close
Closes this observation exactly once.
The source cleanup callback runs at most once and runs synchronously on the first caller. The handle releases its reference to the callback before invoking it, including when cleanup fails. Other callers wait for it to finish. A cleanup failure without re-entry is propagated unchanged by this and every later call. Re-entry from the cleanup callback is rejected instead of deadlocking. The re-entry failure becomes primary even when cleanup catches it, and any distinct failure subsequently thrown by cleanup is suppressed on it. A successful return guarantees that the source can start no further callback for this subscription, although a callback already in progress may finish.
Throws
when source cleanup fails.