View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0012186 | Open CASCADE | OCCT:Foundation Classes | public | 2006-04-14 13:36 | 2012-01-13 16:30 |
Reporter | Assigned To | ||||
Priority | normal | Severity | feature | ||
Status | closed | Resolution | fixed | ||
OS | All | ||||
Fixed in Version | 6.1.1 | ||||
Summary | 0012186: Basic multithread safety in OCCT Kernel | ||||
Description | This item is registered to follow-up implementation of a FIP based on IFMT 193: http://hrmt.nnov.opencascade.com:8090/IFMT/ViewDetail.jsp?id=193 The point is to introduce necessary tools and protections in OCCT kernel so as to make it possible to use it in multithreaded application with concurrent access to common OCCT data (first of all, memory manager) | ||||
Additional information and documentation updates | Documentation remark, added by ABV 2006-08-09 11:05:43: New features: Basic support for multithreading has been provided on the level of TKernel services of OCCT: - New classes Standard_Mutex and OSD_Thread provide encapsulation of functions provided by operating system to manipulate mutexes and manage threads in the uniform way, adapted for usage with Open CASCADE. - Open CASCADE optimized memory manager has been protected for safe work within multithread applications where different threads can access it simultaneously. Note however that this feature is not activated by default (for optimal performance in default, single-thread mode). Environment variable MMGT_ REENTRANT must be set to 1 to activate this feature. Note that setting variable MMGT_OPT to 0 (i.e. using CRT memory heap directly) is also thread safe. Special note: for applications that heavily use OCCT memory manager from more than one thread, on multiprocessor hardware execution with option MMGT_OPT=0 can be more performant than with option MMGT_REENTRANT=1. - OCCT exceptions and signal handling, type system (RTTI), and some other low- level services are protected to be thread-safe Note that these improvements provide only basic features for using OCCT in multithreaded applications; it is responsibility of such application to ensure safety of access to its own data and not-yet-protected data of OCCT. Improvements: Changes: Modified entities: | ||||
Tags | No tags attached. | ||||
Test case number | |||||
Date Modified | Username | Field | Change |
---|---|---|---|
2006-04-14 14:05 | bugmaster | Assigned To | bugmaster => abv |
2006-04-14 14:05 | bugmaster | Status | new => assigned |
2006-04-14 15:17 | bugmaster | CC | => imv |
2006-04-14 15:30 |
|
Status | assigned => resolved |
2006-08-15 18:04 |
|
Status | resolved => tested |
2006-09-06 13:04 | bugmaster | Status | tested => verified |
2006-11-01 19:20 | bugmaster | Status | verified => closed |
2006-11-01 19:20 | bugmaster | Resolution | @0@ => fixed |
2011-08-02 11:23 | bugmaster | Category | OCCT:FDC => OCCT:Foundation Classes |
2012-01-13 16:30 |
|
Description Updated | |
2012-01-13 16:30 |
|
Additional Information Updated |