summaryrefslogtreecommitdiff
path: root/community/gsoc/project_ideas.mdwn
diff options
context:
space:
mode:
authorantrik <antrik@users.sf.net>2008-03-19 10:37:21 +0100
committerantrik <antrik@users.sf.net>2008-03-19 10:37:21 +0100
commitc9e2065d16da495134408bab3eaa5e6dcd3ee7e0 (patch)
tree8f5a5ad38fd873c1812cd81ffdcfc8d6de1837a2 /community/gsoc/project_ideas.mdwn
parent0c704cb5ba2dd9d2bba8abd61f205915804ebfc5 (diff)
Add "pthreads conversion" task
Diffstat (limited to 'community/gsoc/project_ideas.mdwn')
-rw-r--r--community/gsoc/project_ideas.mdwn28
1 files changed, 28 insertions, 0 deletions
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index d845f9ba..4596815c 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -367,6 +367,34 @@ implementing unit checks in other parts of the Hurd codebase...)
This task requires experience with debugging locking issues in multithreaded
applications.
+* convert Hurd servers to pthreads
+
+The Hurd was originally created at a time when the pthreads standard didn't
+exist yet. Thus all Hurd servers and libraries are using the old cthreads
+package that came with Mach, which is not compatible with pthreads.
+
+Not only does that mean that people hacking on Hurd internals have to deal with
+a non-standard thread package, which nobody is familiar with. Although a
+pthreads implementation for the Hurd was created in the meantime, it's not
+possible to use both cthreads and pthreads in the same program. Consequently,
+pthreads can't presently be used in any Hurd servers -- including translators.
+
+Some work already has been done once on converting the Hurd servers and
+libraries to use pthreads, but that work hasn't been finished.
+
+The goal of this project is to have all the Hurd code use pthreads. Should any
+limitations in the existing pthreads implementation turn up that hinder this
+transition, they will have to be fixed as well.
+
+One possible option is creating a wrapper that implements the cthreads
+interfaces on top of pthreads, to ease the transition -- but it might very well
+turn out that it's easier to just change all the existing code to use pthreads
+directly. This is up to the student.
+
+This project requires relatively little Hurd-specific knowledge. Experience
+with multithreaded programming in general and pthreads in particular is
+required, though.
+
* sound support
The Hurd presently has no sound support. Fixing this requires two steps: One is