>>>>> "SM" =3D=3D Stefan Monnier &l=
t;monnier@iro.umontreal.ca> writes:
SM> IOW, I completely agree with Eli: we should fix the few remaining is=
sues
SM> with the concurrency branch and merge it into master.
I very strongly disagree. I think "merge what we have and make it work=
" is the
wrong approach.
I agree, there should at le=
ast be some more discussion about the design we want.
You could g=
roup the concurrency problem into a couple of subproblems:
- Cont=
ext switching
- Scheduling
- Communication
- =
Synchronization
IIUC the concurrency branch uses OS threads plus =
custom code for context switching and scheduling, global variables for comm=
unication, and OS mutexes/condvars for synchronization. My experiment uses =
setcontext for context switching, a user mode scheduler for scheduling, and=
CSP without shared state for both communication and synchronization. I thi=
nk CSP has the advantage of being higher-level and avoiding low-level bugs =
due to misuse of synchronization primitives such as mutexes.