From 757ad8ad07da162b5cc136563f86a6eca8d17c1a Mon Sep 17 00:00:00 2001 From: Harald Martini <harald.martini@student.tugraz.at> Date: Thu, 26 May 2022 10:56:48 +0200 Subject: [PATCH] Changed CycleFile property to return a copy of the CycleFile stream to avoid stream corruption while adding the cycle to the cache --- .../VectoCore/Models/Declaration/Mission.cs | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/VectoCore/VectoCore/Models/Declaration/Mission.cs b/VectoCore/VectoCore/Models/Declaration/Mission.cs index 592ca44b1e..7712016256 100644 --- a/VectoCore/VectoCore/Models/Declaration/Mission.cs +++ b/VectoCore/VectoCore/Models/Declaration/Mission.cs @@ -58,8 +58,28 @@ namespace TUGraz.VectoCore.Models.Declaration public Kilogram BodyCurbWeight { get; internal set; } + private Stream _cycleFile; + private object _cycleLock = new object(); [JsonIgnore] - public Stream CycleFile { get; internal set; } + public Stream CycleFile + { + get + { + lock (_cycleLock) { + var memoryStream = new MemoryStream(); + _cycleFile.CopyTo(memoryStream); + memoryStream.Position = 0; + _cycleFile.Seek(0, SeekOrigin.Begin); + return memoryStream; + } + } + internal set + { + lock (_cycleLock) { + _cycleFile = value; + } + } + } public IList<MissionTrailer> Trailer { get; internal set; } -- GitLab