View Issue Details

IDProjectCategoryView StatusLast Update
0033351Open CASCADEOCCT:Data Exchangepublic2023-05-14 17:14
Reporterdpasukhi Assigned Todpasukhi  
Status assignedResolutionopen 
Product Version7.7.0 
Target Version7.7.2 
Summary0033351: Data Exchange, Step - Improvement for thread safety of the STEP translator
DescriptionThe major problem is occt\src\StepData\StepData_GlobalFactors.hxx
It is a singleton. We need to make it as a field of session(StepData_StepModel)

All methods and functions that work with StepData_GlobalFactors must have access to the StepData_StepModel
This can be done via optional parameter functions (theTP-reading, theFP-writing, theModel, or a value directly from Standard_Real)
Or add/use a field in a class of the same type.

The reason for this is thread-safety.
StepData_GlobalFactors are static fields - containers (singletons)
Fix for objects unique to one session - will allow to read step in different threads different files.

The next step in this ticket is to isolate all static variables.
Isolation is using Standard_mutex ::Lock ::Unlock
+ Change the type of static controllers to bool
TagsNo tags attached.
Test case number



2023-03-30 21:19

developer   ~0113343

Last edited: 2023-03-30 21:22

static*[ \n\r]*(Handle\([^\n\)]+\))+[ \n\r]*[a-z,0-9_]+[ \n\r]*\;
static*[ \n\r]*[a-z,0-9_]+[ \n\r]*[a-z,0-9_]+[ \n\r]*\;

Regex to find static variables


2023-04-05 00:33

administrator   ~0113361

Branch CR33351 has been created by ichesnokova.

SHA-1: f8c9407c98cc5daeecba86bfeba8de57c27216d2

Detailed log of new commits:

Author: ichesnok
Date: Tue Mar 28 13:29:44 2023 +0100

    0033351: Data Exchange, Step - Improvement for thread safety of the STEP translator
    The StepData_GlobalFactors field added to StepData_StepModel.

Issue History

Date Modified Username Field Change
2023-03-27 17:55 dpasukhi New Issue
2023-03-27 17:55 dpasukhi Assigned To => ichesnokova
2023-03-28 12:37 dpasukhi Status new => assigned
2023-03-30 21:19 dpasukhi Note Added: 0113343
2023-03-30 21:22 dpasukhi Note Edited: 0113343
2023-04-05 00:33 git Note Added: 0113361
2023-05-14 17:14 dpasukhi Assigned To ichesnokova => dpasukhi