Fix a failed `BlockAllOperations` leaving update realm in unretrieved state
Fix a failed `BlockAllOperations` leaving update realm in unretrieved state

If the operation timed out on..

```csharp
   throw new TimeoutException(@"Took too long to acquire lock");
```

..from an update thread, it would not restore the update context.

The next call would then fail on the assert that ensures a non-null
context in such cases.

Can add test coverage if required.

NeoAdonis/osu,peppy/osu,peppy/osu,peppy/osu,ppy/osu,NeoAdonis/osu,ppy/osu,ppy/osu,NeoAdonis/osu