qoth: include information on low-level magic needed for pthreads.
[hurd-web.git] / contributing / web_pages / news / qoth_next.mdwn
index 7b3c4be..2d1f1d5 100644 (file)
@@ -25,6 +25,8 @@ else="
 
 At the end of the last 2 quarters, Samuel Thibault pushed the [pthread patches](http://lists.gnu.org/archive/html/bug-hurd/2012-11/msg00088.html) from Vincente, Barry, Thomas, Richard and Samuel and others to the different upstream packages, finally enabling modern pthreads for the Hurd, which makes it possible to implement full Hurd bindings for languages which require pthreads, so for example [PyHurd](http://savannah.nongnu.org/projects/pyhurd/) can profit from the Hurd libraries instead of having to rely on low-level Mach bindings to implement Hurd features like translators. 
 
+The switch to pthreads has been attempted multiple times, but in the past it always hit some tricky issues which proved to be a roadblock. Last year, Richard Braun took up the task again and finished the transition of the Hurd libraries, glibc and libpthread to pthread. His work required significant low-level magic, including the reworking of condition implications, finding a workaround for changing the stack size, avoiding a segfault during early initialization and adjusting priorities to avoid starvation.
+
 As followups, Thomas Schwinge [debugged and fixed](http://lists.gnu.org/archive/html/bug-hurd/2012-12/msg00044.html) a deadlock with child threads resulting from a regression due to earlier fixes, and Cyril Roelandt shared a [patch series](http://lists.gnu.org/archive/html/bug-hurd/2012-12/msg00018.html) to fix double mutex unlocking with pthreads. We will likely see more fixes like these, given that the whole threading interface changed, which will expose previously invisible bugs.
 
 Also Samuel Thibault [provided](http://lists.gnu.org/archive/html/bug-hurd/2012-12/msg00052.html) new [installation CDs](http://people.debian.org/~sthibault/hurd-i386/installer/cdimage/current) and a new [qemu image](http://people.debian.org/~sthibault/hurd-i386/). Additionally to using pthreads, these now offer keyboard layout configuration.