MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0022933Community[OCCT] OCCT:Foundation Classespublic2012-01-30 02:582013-04-29 15:22
Reporterbrueninghaus 
Assigned Tobugmaster 
PrioritynormalSeverityfeature 
StatusclosedResolutionfixed 
PlatformAOSLOS VersionL
Product Version[OCCT] 6.5.2 
Target Version[OCCT] 6.6.0Fixed in Version[OCCT] 6.6.0 
Summary0022933: Thread-safe locale handling in OSD_Localizer
DescriptionThread-safe. There is a discussion on this topic at:
[1] http://dev.opencascade.org/index.php?q=node/35 [^]
[2] http://tracker.dev.opencascade.org/view.php?id=22898 [^]
[3] http://tracker.dev.opencascade.org/view.php?id=22808 [^]

The changed implementation of OSD_Localizer uses uselocale() or _configthreadlocale() (on Windows, that seems to miss uselocale) as described in [3].

It also implements the suggestion of Markus Rhein [3] to reset the locale in the destructor. Since the function Restore() is no longer needed, it is removed.

I removed also the functions SetLocale(), Locale() and Category() since they are used nowhere.

I have changed the (up to now) only occurrence of OSD_Localizer in OpenGl_GraphicDriver_Export.cxx to work with the new implementation.

I have not done anything to the cdl-file, since I miss knowledge on this.

It seems to work on my system (Debian Squeeze, 32bit), but other platforms have to be tested too.

If think you want to add relationship to 0022808 and 0022898. They can be easily resolved after this one.
TagsNo tags attached.
Test case number
Attached Filesdiff file icon OSD_Localizer-thread_safe.diff (3,823 bytes) 2012-01-30 02:58

- Relationships
related to 0022808closedbugmaster Undocumented change of global locale 
related to 0022898closedabv IGES import fails in german environment 

-  Notes
(0023383)
kgv (developer)
2013-02-19 12:27

Dear bugmaster,

the suggested changes (thread-safe locale handling) were done within 0022898 patch. Please close the bug.

Standard_CLocaleSentry is a new replacement for removed OSD_Localizer and now intended only for temporary switch C runtime library locale to "C" locale.
(0023392)
bugmaster (administrator)
2013-02-19 18:49

Problem has been corrected by fix for 0022898 issue

- Issue History
Date Modified Username Field Change
2012-01-30 02:58 brueninghaus New Issue
2012-01-30 02:58 brueninghaus Assigned To => abv
2012-01-30 02:58 brueninghaus File Added: OSD_Localizer-thread_safe.diff
2012-01-30 02:58 brueninghaus Status new => resolved
2012-01-30 08:17 abv Relationship added related to 0022808
2012-01-30 08:17 abv Relationship added related to 0022898
2013-01-17 10:38 abv Assigned To abv => kgv
2013-01-17 10:38 abv Status resolved => assigned
2013-02-19 12:27 kgv Note Added: 0023383
2013-02-19 12:27 kgv Assigned To kgv => bugmaster
2013-02-19 12:27 kgv Status assigned => feedback
2013-02-19 12:27 kgv Target Version => 6.6.0
2013-02-19 18:49 bugmaster Status feedback => tested
2013-02-19 18:49 bugmaster Note Added: 0023392
2013-02-19 18:49 bugmaster Status tested => verified
2013-02-19 18:49 bugmaster Resolution open => fixed
2013-04-23 13:36 user533 Status verified => closed
2013-04-29 15:22 user533 Fixed in Version => 6.6.0


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker