The code as it appears in the tree is considered feature complete. This means I do not want to introduce any further properties or arguments to the functions in the MP package and now the priority is shared among these goals:<div>
<div><br></div><div>* Implement the spinlock-free wait queue in Windows. I believe this is doable with a simple SleepEx() and our current interrupt signaling mechanism -- both combined would behave like sigsuspend() in our POSIX code.</div>
<div><br></div><div>* Further stress testing. I have added three files to src/tests/bugs/, covering locks, semaphores and mailboxes. Next is condition variables and trying to enlarge the set of tests to hit corner cases.</div>
<div><br></div><div>* Analyzing "formally" the code for the queue. I have simplified the code and tried to specify it further in src/threads/queue.d, and it would be nice if some more knowledgeable people could have a look at this abstraction to see whether it might hit some ugly corner cases.</div>
<div><br></div><div>* There are some hidden problems with the garbage collector and interrupts. I have not managed to reproduce it with the current code, but some people reported it for long lived processes.</div><div><br>
</div><div>* Fix a few other reported bugs which are pending right now</div><div><br></div><div>Help is welcome with any of these goals. Other than this, I think we are close to another release -- ideally before I leave for the ELS in a couple of weeks. The code seems to work rather fine, it is no longer a CPU hog and the new abstractions (semaphores, mailboxes) should help simplify existing code (Slime, for starters).</div>
<div><br></div><div>Best,</div><div><br></div><div>Juanjo</div><div><div><br></div>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>
</div></div>