diff options
-rw-r--r-- | community/gsoc/project_ideas.mdwn | 1 | ||||
-rw-r--r-- | community/gsoc/project_ideas/language_bindings.mdwn | 12 | ||||
-rw-r--r-- | community/gsoc/project_ideas/pthreads.mdwn | 49 | ||||
-rw-r--r-- | news/2010-09.mdwn | 4 | ||||
-rw-r--r-- | open_issues/libpthread.mdwn | 12 |
5 files changed, 2 insertions, 76 deletions
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn index e3d2700d..9fd851cd 100644 --- a/community/gsoc/project_ideas.mdwn +++ b/community/gsoc/project_ideas.mdwn @@ -86,7 +86,6 @@ other: language_bindings, gnat, gccgo, perl_python. --> [[!inline pages="community/gsoc/project_ideas/server_overriding" show=0 feeds=no actions=yes]] [[!inline pages="community/gsoc/project_ideas/tcp_ip_stack" show=0 feeds=no actions=yes]] [[!inline pages="community/gsoc/project_ideas/nfs" show=0 feeds=no actions=yes]] -[[!inline pages="community/gsoc/project_ideas/pthreads" show=0 feeds=no actions=yes]] [[!inline pages="community/gsoc/project_ideas/smp" show=0 feeds=no actions=yes]] [[!inline pages="community/gsoc/project_ideas/sound" show=0 feeds=no actions=yes]] [[!inline pages="community/gsoc/project_ideas/disk_io_performance" show=0 feeds=no actions=yes]] diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn index d9a426be..fdcdc396 100644 --- a/community/gsoc/project_ideas/language_bindings.mdwn +++ b/community/gsoc/project_ideas/language_bindings.mdwn @@ -47,18 +47,6 @@ In his [[2011 GSoC project|2011]], Jérémie Koenig designed and began implementing an object-oriented interface; see his [[Java status page|user/jkoenig/java]] for details. -There is another possible reason for preferring lower-level bindings: -Presently, the Hurd server libraries use the cthreads threading library, which -predates the pthread standard prevalent today. There is a -[[pthread library for the Hurd|libpthread]] -as well, but it's not possible to use both cthreads and pthreads in -the same executable. Thus, until -[[porting_the_Hurd_libraries_to_pthreads|community/gsoc/project_ideas/pthreads]] -is finished, implementing bindings for any language that uses pthreads (in the -runtime environment or the actual programs) is only possible when not using the -standard Hurd server libraries at all -- i.e. when binding at MIG stub level or -interface definition level. - The task is to create easy to use Hurd bindings for a language of the student's choice, and some example servers to prove that it works well in practice. This project will require gaining a very good understanding of the various Hurd diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn deleted file mode 100644 index 2270c774..00000000 --- a/community/gsoc/project_ideas/pthreads.mdwn +++ /dev/null @@ -1,49 +0,0 @@ -[[!meta copyright="Copyright © 2008, 2009, 2010 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled -[[GNU Free Documentation License|/fdl]]."]]"""]] - -[[!meta title="Convert Hurd Libraries and Servers to pthreads"]] - -[[!tag open_issue_libpthread]] - -The Hurd was originally created at a time when the [pthreads -standard](http://www.opengroup.org/onlinepubs/009695399/basedefs/pthread.h.html) -didn't exist yet. Thus all Hurd servers and libraries are using the old -[[cthreads|hurd/libcthreads]] package that came with [[microkernel/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|libpthread]] -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. - -(Thus it's impossible to use the [Hurd -libfuse](http://www.nongnu.org/hurdextras/#libfuse) with any FUSE modules -depending on pthreads for example.) - -Most of the conversion has already been done in previous efforts (see -[[!GNU_Savannah_task 5487]]) -- but the tricky parts are still missing. - -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. - -This project requires relatively little Hurd-specific knowledge. Experience -with multithreaded programming in general and pthreads in particular is -required, though. - -Possible mentors: Barry deFreese (bddebian), Samuel Thibault (youpi) - -Exercise: Try to fix one of the outstanding issues with the work done so far. -It's not yet complete, and there hasn't been much debugging yet, so it should -not be too hard to find something needing improvement -- but if you don't see -anything obvious, feel free to talk to us about an alternative exercise task. diff --git a/news/2010-09.mdwn b/news/2010-09.mdwn index a35e1b3e..fa0e1db1 100644 --- a/news/2010-09.mdwn +++ b/news/2010-09.mdwn @@ -97,9 +97,9 @@ While already working in that area, Samuel Thibault applied some further fixes to our two threading libraries, and among others, he also sent a related glibc patch to [fix signal-catching functions](http://sourceware.org/ml/libc-alpha/2010-09/msg00015.html). And -then, there is still the project about [[converting the Hurd's libraries and +then, there is still the project about converting the Hurd's libraries and servers to using libpthread instead of Mach's cthreads -(libthreads)|community/gsoc/project_ideas/pthreads]]; likely such signalling +(libthreads); likely such signalling system moderizations could be done [alongside of that](http://lists.gnu.org/archive/html/bug-hurd/2010-09/msg00021.html). diff --git a/open_issues/libpthread.mdwn b/open_issues/libpthread.mdwn index f0c0db58..1ea2bb53 100644 --- a/open_issues/libpthread.mdwn +++ b/open_issues/libpthread.mdwn @@ -14,18 +14,6 @@ License|/fdl]]."]]"""]] [[!toc]] -# cthreads -> pthreads - -Get rid of cthreads; switch to pthreads. - -There is a [[!FF_project 275]][[!tag bounty]] on this task. - - -## Original [[community/GSoC]] Task Description - -[[!inline pages=community/gsoc/project_ideas/pthreads feeds=no]] - - ## IRC, freenode, #hurd, 2012-04-26 <pinotree> youpi: just to be sure: even if libpthread is compiled inside |