[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Thread deficiencies



tytso@mit.edu writes:

>    Date: Fri, 07 Jan 2000 00:13:22 -0500
>    From: Al Guerra <mclinux@gate.net>
> 
>    No. Firstly, we are not the POSIX standards body. We are the __Linux__
>    standards body. Any pretense of being all things to everyone should be
>    dropped right now. Developers that want to write Linux apps will have to
>    use what Linux provides. Linux doesn't have pthreads, it has clone(). So
>    we should adopt clone(). 
> 
> Umm... but part of our purpose is to encourage the development and
> porting of already existing Unix applications by third-party software
> vendors (ISV's) to Linux.  The attitude of "tough shit if your program
> which took ten man-years to development uses Posix Threads" isn't hardly
> calculated to encourage those ISV's to port their product Linux.  
> 
> If you will recall, a long time ago, back in the Linux kernel 0.10 days,
> Linus explained that when he found a portability problem with an
> application, if the issue was with POSIX.1 compliance, he would fix the
> kernel instead of modifying the application.  That's what got us to
> where we are today.   Telling people to screw standards and use a linux
> specific interface might be what we have to do in the short-run, but I
> don't think it works for the long-term.

Hello, how about this: GNU Pth. I haven't had a whole lot of time to
dig into it, but Pth (Portable Threads) may provide us with a
solution. From the README:

  Additionally Pth provides an optional emulation API for POSIX.1c
  threads (`Pthreads') which can be used for backward compatibility to
  existing multithreaded applications.

And:

  Pth was successfully tested on FreeBSD, NetBSD, OpenBSD, BSDI,
  GNU/Linux, Solaris, HPUX, Tru64 (OSF/1), AIX, IRIX, UnixWare, SINIX,
  ReliantUNIX, ISC, AmigaOS, Rhapsody and AUX. And it should should
  automatically adjust itself to remaining Unix platforms, too.

The License is LGPL. Like I said, I haven't had much time to look
deeper into it, but if the POSIX emulation layer works and it remains
portable to all the other UNIXen listed, Pth could be the way to
go. It's available on all the GNU mirrors (in /pub/gnu/pth/). The file
TESTS in the tarball has quite an impressive list of programs
(including Apache) that were compiled to use Pth and their success
stories. I'll try to look more deeply into it this coming week.

-- 
Jakob 'sparky' Kaivo - jkaivo@ndn.net - http://jakob.kaivo.net/


Reply to: