You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Ralf S. Engelschall" <rs...@engelschall.com> on 1999/07/04 19:27:01 UTC

GNU Portable Threads (pth)

I just want to drop you multithreading fans a note that my GNU Portable
Threads (pth) package is now available as version 1.0b2 from
http://www.gnu.org/software/pth/ (formerly known under the coding-name NPS).
It's licensed under LGPL and so it should not offend the non-GPL-friends under
us ;)

In short, it's a maximum portable non-preemptive user-land threading library
which is based entirely on just POSIX functions and plain ANSI C code.  The
portability aspect here is the primary goal, but nevertheless it also includes
some special features not found in other threading libraries. 

For instance it includes a flexible event facility inspired by Paul Vixies
eventlib which allows threads to explicitly wait until various types of events
occur, including pending I/O on filedescriptors, asynchronous signals, elapsed
timers, pending I/O on message ports, thread and process termination, and even
customized callback functions.  Or it provides inter-thread communication
through message ports as known from the good old AmigaOS' Exec.

Additionally it provides the first cut of an optional emulation API for
POSIX.1c threads ("pthreads") which can be used for backward compatibility to
existing multithreaded applications. It's at it's first stages but I was at
least already successful in running the MPM/pthread port of our Apache
development version with it. I think RST would like this Apache variant,
because although it uses a slightly different approach, it is similar in
result to what he did in 1996 ;)

Your feedback is welcome.
                                       Ralf S. Engelschall
                                       rse@engelschall.com
                                       www.engelschall.com

Re: GNU Portable Threads (pth)

Posted by Piotr Klaban <ma...@man.torun.pl>.
On Sun, Jul 04, 1999 at 07:27:01PM +0200, Ralf S. Engelschall wrote:
> For instance it includes a flexible event facility inspired by Paul Vixies
> eventlib which allows threads to explicitly wait until various types of events
> occur, including pending I/O on filedescriptors, asynchronous signals, elapsed
> timers, pending I/O on message ports, thread and process termination, and even
> customized callback functions.  Or it provides inter-thread communication
> through message ports as known from the good old AmigaOS' Exec.

I would like to see the pth could be run on multiprocessor machines.
I think there are many multiprocessor machines used for WWW,
and using pth for apache could cut down the benefits of multithreading.

Piotr Klaban


Re: GNU Portable Threads (pth)

Posted by Rasmus Lerdorf <ra...@lerdorf.on.ca>.
> ??? I'm not very aware of licensing issues, so i don't understand this. Isn't
> anyone supposed to do whatever he wants with GPL/LGPL soft as long as they
> provide the original code with source at no charge ???

No, there are all sorts of problems with it.  For example, this clause
from the GPL:

    b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

So, if a corporation were to take just a single line of code from a GPL'ed
package and include it in a product, then the entire product must be put
under the GPL.  In legal terms this ends up extending itself to any
patents a corporation may hold as well.  

And the LGPL isn't any better in this respect.  It says:

  a) The modified work must itself be a software library. 
  b) You must cause the files modified to carry prominent notices stating
     that you changed the files and the date of any change. 
  c) You must cause the whole of the work to be licensed at no charge
     to all third parties under the terms of this License.
  ...

Basically there is just no way any GPL nor LGPL code can be compatible
with the Apache license if we want to continue with the idea that we want
corporations to be involved with the development and have them create
commercial versions.  

-Rasmus


Re: GNU Portable Threads (pth)

Posted by Laurent Sinitambirivoutin <du...@eurosport.com>.
Bill Stoddard wrote:
> 
> "Ralf S. Engelschall" wrote:
> 
> > I just want to drop you multithreading fans a note that my GNU Portable
> > Threads (pth) package is now available as version 1.0b2 from
> > http://www.gnu.org/software/pth/ (formerly known under the coding-name NPS).
> > It's licensed under LGPL and so it should not offend the non-GPL-friends under
> > us ;)
> 
> The LGPL pretty much rules out this being used in Apache. Most corporations and
> Universities with patent portfolios cannot can't ship it, touch it or look at it.
> How do you suppose I can build a product based on it?
> 
> Bill

??? I'm not very aware of licensing issues, so i don't understand this. Isn't
anyone supposed to do whatever he wants with GPL/LGPL soft as long as they
provide the original code with source at no charge ???

-- 
Laurent.D.Sinitambirivoutin
Root of Eurosport Website
duredhel@eurosport.com
Get all about sport on http://www.eurosport.com !

Re: GNU Portable Threads (pth)

Posted by Bill Stoddard <re...@ibm.net>.
"Ralf S. Engelschall" wrote:

> I just want to drop you multithreading fans a note that my GNU Portable
> Threads (pth) package is now available as version 1.0b2 from
> http://www.gnu.org/software/pth/ (formerly known under the coding-name NPS).
> It's licensed under LGPL and so it should not offend the non-GPL-friends under
> us ;)

The LGPL pretty much rules out this being used in Apache. Most corporations and
Universities with patent portfolios cannot can't ship it, touch it or look at it.
How do you suppose I can build a product based on it?

Bill