/// <inheritdoc /> public ReattachInformation Release() { CheckDisposed(); //we still don't want to dispose the dmb yet, even though we're keeping it alive var tmpProvider = reattachInformation.Dmb; reattachInformation.Dmb = null; released = true; Dispose(); byondLock.DoNotDeleteThisSession(); tmpProvider.KeepAlive(); reattachInformation.Dmb = tmpProvider; return(reattachInformation); }
/// <inheritdoc /> public async Task <ReattachInformation> Release() { CheckDisposed(); // we still don't want to dispose the dmb yet, even though we're keeping it alive var tmpProvider = reattachInformation.Dmb; reattachInformation.Dmb = null; released = true; await DisposeAsync().ConfigureAwait(false); byondLock.DoNotDeleteThisSession(); tmpProvider.KeepAlive(); reattachInformation.Dmb = tmpProvider; return(reattachInformation); }