Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
The Clownfish bootstrap process isn't thread-safe. For a lock-free solution:
- Class_bootstrap must set the global class pointer at the very end, possibly destroying the class if another thread set the pointer before.
- The runtime inheritance cycle detection must be reworked, or simply left out. It only protects from a really contrived scenario.
- Probably other things I missed.
We could also consider a global lock using a locking facility provided by the host language.