View Issue Details

IDProjectCategoryView StatusLast Update
0023988Open CASCADEOCCT:Foundation Classespublic2014-07-11 19:02
ReporterszvAssigned Toszv 
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version6.6.0 
Target Version6.7.0Fixed in Version6.7.0 
Summary0023988: Force use of reentrant mode
DescriptionIt is proposed to get rid of re-entrant mode switching on / off, and keep this mode always on.
TagsNo tags attached.
Test case numberNot needed

Relationships

related to 0022627 closedbugmaster Open CASCADE Change OCCT memory management defaults 
related to 0025072 closedbugmaster Community Environment variable MMGT_REENTRANT is still mentioned in the Overview although it was removed 

Activities

szv

2013-05-24 10:03

manager   ~0024504

Reentrant mode switch is eliminated.
In OCCT:
- in package Standard, methods IsReentrant, SetReentrant are removed
- allocators in Standard and NCollection are corrected respectively
In Products:
- Use of IsReentrant, SetReentrant is eliminated

Please review branches CR23988 in occt and occt-products.

abv

2013-05-30 07:08

manager   ~0024555

One remark: in Standard_MMgrOpt and possible other places where Standard_Mutex::Sentry is used with pointer argument (address of the mutex object), it is better to use it with reference argument. It will save one if() in time-critical code

szv

2013-05-30 11:56

manager   ~0024564

Standard_MMgrOpt.cxx is corrected, please review.

abv

2013-05-30 12:17

manager   ~0024565

No remarks, please test.

Note that after integration of this change we will need to remove references to MMGT_REENTRANT environment variable and Standard::Is/SetReentrant() methods from OCCT documentation

mkv

2013-05-31 10:57

tester   ~0024577

Dear BugMaster,

Branch CR23988 was compiled on Linux platform.
There are following extraction errors:
http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR23988/job/mnt-CR23988-CR23988_prepare_occt_linux/1/parsed_console/?

mkv

2013-05-31 12:14

tester   ~0024578

Dear BugMaster,
Branch CR23988 was recompiled on Linux platform.
Extraction step is good now.
Branch CR23988 will be compiled and tested now.

mkv

2013-06-04 08:40

tester   ~0024621

Dear BugMaster,

Branch CR23988 from occt-repository and CR23988 from products-repository was compiled on Linux and Windows platforms.
There are following compilation errors on Windows platform:

http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR23988/job/mnt-CR23988-CR23988_build_occt_products_windows/1/console

19>..\..\..\src\ColDetectionTest\ColDetectionTest.cxx(99) : error C2039: 'IsReentrant' : is not a member of 'Standard'
19> d:\builds\vc9\CR23988-CR23988-products\..\CR23988-CR23988-occt\inc\Standard.hxx(40) : see declaration of 'Standard'
19>..\..\..\src\ColDetectionTest\ColDetectionTest.cxx(99) : error C3861: 'IsReentrant': identifier not found
19>..\..\..\src\ColDetectionTest\ColDetectionTest.cxx(100) : error C2039: 'SetReentrant' : is not a member of 'Standard'
19> d:\builds\vc9\CR23988-CR23988-products\..\CR23988-CR23988-occt\inc\Standard.hxx(40) : see declaration of 'Standard'
19>..\..\..\src\ColDetectionTest\ColDetectionTest.cxx(100) : error C3861: 'SetReentrant': identifier not found
19>..\..\..\src\ColDetectionTest\ColDetectionTest.cxx(102) : error C2039: 'SetReentrant' : is not a member of 'Standard'
19> d:\builds\vc9\CR23988-CR23988-products\..\CR23988-CR23988-occt\inc\Standard.hxx(40) : see declaration of 'Standard'
19>..\..\..\src\ColDetectionTest\ColDetectionTest.cxx(102) : error C3861: 'SetReentrant': identifier not found

szv

2013-06-04 11:14

manager   ~0024623

Products branch CR23988 updated, please test.

mkv

2013-06-05 12:38

tester   ~0024632

Dear BugMaster,

Branch CR23988 from occt-GIT repository
SHA-1: a8cfe17bac5e3f35849724440e041b8e1c8e0f36

and branch CR23988 from products-GIT repository
SHA-1: 3094b9024ff66e0682c70cd2ce16feefad0c070e

was compiled on Linux and Windows platforms and tested.


Number of compiler warnings:

occt component :
Linux: 2 (2 on master)
Windows: 7 (7 on master)

products component :
Linux: 0 (0 on master)
Windows: 63 (63 on master)

Regressions:
No regressions

Improvements:
No improvements

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 366175964 / 366237452
Total CPU difference: 54117.15000000005 / 41752.17000000117

Testing on Windows:
Total MEMORY difference: 421207700 / 422631092
Total CPU difference: 41430.09375 / 40943.921875

There are not differences in images found by testdiff.

Related Changesets

occt: master bd0c22ce

2013-05-24 05:26:45

szv

Details Diff
0023988: Force use of reentrant mode

Reentrant mode switch is eliminated
Affected Issues
0023988
mod - src/IGESControl/IGESControl_Reader.cxx Diff File
mod - src/MeshTest/MeshTest.cxx Diff File
mod - src/MeshTest/MeshTest_PluginCommands.cxx Diff File
mod - src/NCollection/NCollection_BaseAllocator.cxx Diff File
mod - src/NCollection/NCollection_IncAllocator.cxx Diff File
mod - src/Standard/Standard.cdl Diff File
mod - src/Standard/Standard.cxx Diff File
mod - src/Standard/Standard_ErrorHandler.cxx Diff File
mod - src/Standard/Standard_MMgrOpt.cxx Diff File
mod - src/Standard/Standard_MMgrOpt.hxx Diff File
mod - src/Standard/Standard_MMgrRoot.cxx Diff File
mod - src/Standard/Standard_MMgrRoot.hxx Diff File
mod - src/XSDRAWSTLVRML/XSDRAWSTLVRML.cxx Diff File

Issue History

Date Modified Username Field Change
2013-05-23 15:06 szv New Issue
2013-05-23 15:06 szv Assigned To => abv
2013-05-24 10:03 szv Note Added: 0024504
2013-05-24 10:03 szv Status new => resolved
2013-05-24 12:37 kgv Relationship added related to 0022627
2013-05-30 07:08 abv Note Added: 0024555
2013-05-30 07:08 abv Assigned To abv => szv
2013-05-30 07:08 abv Status resolved => assigned
2013-05-30 11:56 szv Note Added: 0024564
2013-05-30 11:56 szv Assigned To szv => abv
2013-05-30 11:56 szv Status assigned => resolved
2013-05-30 12:17 abv Note Added: 0024565
2013-05-30 12:17 abv Assigned To abv => bugmaster
2013-05-30 12:17 abv Status resolved => reviewed
2013-05-30 15:01 bugmaster Assigned To bugmaster => mkv
2013-05-31 10:57 mkv Note Added: 0024577
2013-05-31 11:01 mkv Test case number => Not needed
2013-05-31 11:01 mkv Assigned To mkv => szv
2013-05-31 11:01 mkv Status reviewed => assigned
2013-05-31 12:14 mkv Note Added: 0024578
2013-05-31 12:14 mkv Assigned To szv => mkv
2013-05-31 12:14 mkv Status assigned => resolved
2013-05-31 12:14 mkv Status resolved => reviewed
2013-06-04 08:40 mkv Note Added: 0024621
2013-06-04 08:40 mkv Assigned To mkv => abv
2013-06-04 08:40 mkv Status reviewed => assigned
2013-06-04 08:41 mkv Assigned To abv => szv
2013-06-04 11:14 szv Status assigned => resolved
2013-06-04 11:14 szv Note Added: 0024623
2013-06-04 11:14 szv Assigned To szv => mkv
2013-06-04 11:14 szv Status resolved => reviewed
2013-06-05 12:38 mkv Note Added: 0024632
2013-06-05 12:39 mkv Assigned To mkv => bugmaster
2013-06-05 12:39 mkv Status reviewed => tested
2013-06-10 10:30 szv Changeset attached => occt master bd0c22ce
2013-06-10 10:30 szv Assigned To bugmaster => szv
2013-06-10 10:30 szv Status tested => verified
2013-06-10 10:30 szv Resolution open => fixed
2013-12-19 13:53 bugmaster Status verified => closed
2013-12-19 13:55 bugmaster Fixed in Version => 6.7.0
2014-07-11 19:02 Timo Relationship added related to 0025072