diff options
author | antrik <antrik@users.sf.net> | 2008-03-19 10:37:21 +0100 |
---|---|---|
committer | antrik <antrik@users.sf.net> | 2008-03-19 10:37:21 +0100 |
commit | c9e2065d16da495134408bab3eaa5e6dcd3ee7e0 (patch) | |
tree | 8f5a5ad38fd873c1812cd81ffdcfc8d6de1837a2 /community/gsoc/project_ideas.mdwn | |
parent | 0c704cb5ba2dd9d2bba8abd61f205915804ebfc5 (diff) |
Add "pthreads conversion" task
Diffstat (limited to 'community/gsoc/project_ideas.mdwn')
-rw-r--r-- | community/gsoc/project_ideas.mdwn | 28 |
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 |