mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-24 04:25:06 +02:00
Fixed wording
This commit is contained in:
parent
9d7cff4976
commit
8f36ac70c4
1 changed files with 1 additions and 3 deletions
|
@ -2,9 +2,7 @@
|
||||||
|
|
||||||
## 0.14 - TBD
|
## 0.14 - TBD
|
||||||
|
|
||||||
This release is focused on improving multi-threaded support for the garbage collector.
|
This release fixes a long-standing issue where a mutation (via `set-car!`, `vector-set!`, `set!`, etc) could allow a global object on the heap object to reference an object on a thread's local stack. This is problematic because threads periodically relocate their local objects to the heap and for performance reasons this must be done without any coordination between threads. Thus opening the possibility for race conditions, crashes, etc.
|
||||||
|
|
||||||
In particular, we have fixed a long-standing issue where a mutation (via `set-car!`, `vector-set!`, `set!`, etc) could allow a global object on the heap object to reference an object on a thread's local stack. This is problematic there is no way for a thread to know when an object on another thread's stack has been moved. Thus opening the possibility for race conditions, crashes, etc.
|
|
||||||
|
|
||||||
In the past we provided functions such as `make-shared` that could be called from application code to guarantee safety. However, this approach is error-prone and asks too much of anyone using Cyclone for multithreaded development. The proper solution is for Cyclone to avoid this situation in the first place.
|
In the past we provided functions such as `make-shared` that could be called from application code to guarantee safety. However, this approach is error-prone and asks too much of anyone using Cyclone for multithreaded development. The proper solution is for Cyclone to avoid this situation in the first place.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue