0028217: Error handling is not thread safe and causing memory corruption and sporadic...
authorabv <abv@opencascade.com>
Thu, 29 Dec 2016 11:37:42 +0000 (14:37 +0300)
committerapn <apn@opencascade.com>
Thu, 29 Dec 2016 11:38:02 +0000 (14:38 +0300)
commitb3d20c7f4680751875562503e4ff485b2e59f141
treecbd493188a5a7c0b6ae1b85837b6e4aac56e660a
parent96fffdc6099320bae9cfecd8fa5d7aa2b2b4da6d
0028217: Error handling is not thread safe and causing memory corruption and sporadic crashes

Static variable holding handle to the last raised exception is made thread-local on compilers that support C++11 keyword thread_local (MCVC++ 14+, GCC 4.8+, ICC 14+, CLang).
Test bugs fclasses bug28217 is added (BAD on vc < 14 and gcc < 4.8).

Test case tuning bugs/fclasses/bug28217
src/QABugs/QABugs_20.cxx
src/Standard/Standard_Failure.cxx
tests/bugs/fclasses/bug28217 [new file with mode: 0644]