This (big, sorry) PR tackles fully defining the thread model for the system, documenting it, and modifying the implementation to bring it in-line with the docs.
The highlights are:
New docs for threads.
Implementation of control object abstraction for the kernel.
Updates to mutex, condvar for soundness and performance.
Implementation of thread suspension.
Thread implementation cleanup (ongoing)
Thread sync/async events from kernel (stub types this patch, impl next patch)
To finish all this, we'll need several patches. Next patch will, hopefully, cover the implementation of the rest of the thread semantics outlined by the docs.
This (big, sorry) PR tackles fully defining the thread model for the system, documenting it, and modifying the implementation to bring it in-line with the docs.
The highlights are:
To finish all this, we'll need several patches. Next patch will, hopefully, cover the implementation of the rest of the thread semantics outlined by the docs.