From 5a4010cb8a208d3363e65228b2dc3f121c46cb52 Mon Sep 17 00:00:00 2001 From: rootdarkarchon Date: Sat, 18 Nov 2023 17:41:18 +0100 Subject: [PATCH] fix disposed semaphores --- .../Controllers/ServerFilesController.cs | 48 +++++++++++++++---- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/MareSynchronosServer/MareSynchronosStaticFilesServer/Controllers/ServerFilesController.cs b/MareSynchronosServer/MareSynchronosStaticFilesServer/Controllers/ServerFilesController.cs index 1da461c..fbab3dc 100644 --- a/MareSynchronosServer/MareSynchronosStaticFilesServer/Controllers/ServerFilesController.cs +++ b/MareSynchronosServer/MareSynchronosStaticFilesServer/Controllers/ServerFilesController.cs @@ -240,9 +240,19 @@ public class ServerFilesController : ControllerBase } finally { - fileLock?.Release(); - fileLock?.Dispose(); - _fileUploadLocks.TryRemove(hash, out _); + try + { + fileLock?.Release(); + fileLock?.Dispose(); + } + catch (ObjectDisposedException) + { + // it's disposed whatever + } + finally + { + _fileUploadLocks.TryRemove(hash, out _); + } } } @@ -327,9 +337,19 @@ public class ServerFilesController : ControllerBase } finally { - fileLock?.Release(); - fileLock?.Dispose(); - _fileUploadLocks.TryRemove(hash, out _); + try + { + fileLock?.Release(); + fileLock?.Dispose(); + } + catch (ObjectDisposedException) + { + // it's disposed whatever + } + finally + { + _fileUploadLocks.TryRemove(hash, out _); + } } } @@ -422,9 +442,19 @@ public class ServerFilesController : ControllerBase } finally { - fileLock?.Release(); - fileLock?.Dispose(); - _fileUploadLocks.TryRemove(hash, out _); + try + { + fileLock?.Release(); + fileLock?.Dispose(); + } + catch (ObjectDisposedException) + { + // it's disposed whatever + } + finally + { + _fileUploadLocks.TryRemove(hash, out _); + } } } } \ No newline at end of file