1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 14:17:26 +08:00
osu-lazer/osu.Game/Online
Dean Herbert 80c2b1449b Fix API request potentially firing failed events after completion
Specifically, `Cancel()` calls were not thread safe. Due to a series of
events, `ListPollingComponent` could call `Cancel` from a non-update
thread, leading to a race condition where both a `Success` and `Fail`
event can be fired.

This is intended to be the simplest fix possible, locking and guarding
specifically on the callbacks. Further work could be done in the future
to improve the flow surrounding `pendingFailure`, potentially reducing
redundant work and cleaning up the code, but that's not happening here.

Closes https://github.com/ppy/osu/issues/13632.
2021-07-19 20:27:01 +09:00
..
API Fix API request potentially firing failed events after completion 2021-07-19 20:27:01 +09:00
Chat Rename function to be more accurate 2021-07-09 11:16:47 +09:00
Leaderboards Remove redundant arguments 2021-07-05 23:52:39 +08:00
Multiplayer Remove redundant NotNull attributes in nullable classes 2021-06-17 16:07:32 +09:00
Placeholders Create ClickablePlaceholder and make of use it where applicable. 2020-04-23 14:01:47 +02:00
Rooms Fix typo in class name 2021-04-07 16:45:10 +09:00
Solo Fix scores not being accepted due to missing ruleset ID 2021-04-09 15:18:02 +09:00
Spectator Fix HandleFrame crashing when not playing 2021-05-31 10:02:02 +09:00
DevelopmentEndpointConfiguration.cs Add website root URL and update most links to use it 2020-12-24 18:11:42 +09:00
DownloadState.cs Rename download state Downloaded to Importing 2021-01-13 18:04:53 +03:00
DownloadTrackingComposite.cs Always set progress before updating download state 2021-03-26 14:04:10 +09:00
EndpointConfiguration.cs Add website root URL and update most links to use it 2020-12-24 18:11:42 +09:00
HubClientConnector.cs Apply ConfigureAwait changes to game side 2021-03-08 14:36:35 +09:00
IHubClientConnector.cs Move HubClientConnector retrieval to IAPIProvider 2021-02-15 16:43:56 +09:00
OnlineViewContainer.cs Allow creating OnlineViewContainers with no placeholder button 2021-04-06 16:17:20 +09:00
PollingComponent.cs Fix API request potentially firing failed events after completion 2021-07-19 20:27:01 +09:00
ProductionEndpointConfiguration.cs Add website root URL and update most links to use it 2020-12-24 18:11:42 +09:00