Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit f05948f7 authored by Harald Martini's avatar Harald Martini Committed by Markus Quaritsch
Browse files

Updated Locking in summarydatacontainer

(cherry picked from commit 139c0238)
parent fdb933b4
No related branches found
No related tags found
No related merge requests found
......@@ -76,7 +76,7 @@ namespace TUGraz.VectoCore.OutputData
};
// ReSharper restore InconsistentNaming
private object _tableLock = new object();
internal readonly DataTable Table;
private readonly ISummaryWriter _sumWriter;
......@@ -272,18 +272,29 @@ namespace TUGraz.VectoCore.OutputData
/// <summary>
/// Writes the result of one run into the summary data container.
/// </summary>
[MethodImpl(MethodImplOptions.Synchronized)]
//[MethodImpl(MethodImplOptions.Synchronized)]
protected DataRow GetResultRow(IModalDataContainer modData, VectoRunData runData)
{
if (modData.HasCombustionEngine) {
lock (_tableLock) {
if (modData.HasCombustionEngine)
{
UpdateTableColumns(modData.FuelData, runData.EngineData.MultipleEngineFuelModes);
}
var row = Table.NewRow();
Table.Rows.Add(row);
//Table.Rows.Add(row);
return row;
}
}
protected void AddResultRow(DataRow row)
{
lock (_tableLock) {
Table.Rows.Add(row);
}
}
//[MethodImpl(MethodImplOptions.Synchronized)]
public virtual void Write(IModalDataContainer modData, int jobNr, int runNr, VectoRunData runData)
{
var row = GetResultRow(modData, runData);
......@@ -375,6 +386,8 @@ namespace TUGraz.VectoCore.OutputData
}
WriteGearshiftStats(modData, row, gearCount);
AddResultRow(row);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment