From: mueller@nu.cs.fsu.edu (Frank Mueller)
Newsgroups: comp.unix.solaris,comp.unix.internals,comp.unix.programmer,
comp.unix.sco.programmer,comp.os.linux.announce,comp.unix.bsd.freebsd.misc
Subject: POSIX Threads package for ix86 and SPARC
Date: 12 Jul 1995 17:44:24 +0300
Organization: Florida State University Computer Science
Sender: wirzeniu@cc.helsinki.fi
Approved: linux-announce@news.ornl.gov (Lars Wirzenius)
Message-ID: <3u0n48$89l@kruuna.helsinki.fi>
Keywords: POSIX, threads

We are happy to announce the release of the FSU Pthreads library package V2.6.
This release is the first one to include support for ix86-based UNIX versions
(Linux, FreeBAS, SCO). The support for SunOS and Solaris continures with bug
fixes as it has for the past years. 

Why use this package? It is more complete, tested over years on the SPARC,
and impelements more of the POSIX Threads standard than most other packages
-- and it's free!

Note to newbies: Get the ftp-able sources, uncompres, untar, type
  cd threads/src
  ./configure
and read the interface document and maybe the SERF paper to get started.
Notice that the ix86 requires calling pthread_init() as the first thing    
in main().

--------------------------------------------------------------------------------

Smallest possible program:

#include < pthread.h>

void new_thread(arg)
  int *arg;
{
  printf("new thread argument = %d\n", *arg);
}

main()
{
  pthread_t th;
  int i = 1;

  pthread_init();

  pthread_create(&th, NULL, (pthread_func_t) new_thread, &i);
  pthread_join(th, NULL);
  pthread_detach(&th);
}


--------------------------------------------------------------------------------


``A Library Implementation of POSIX Threads under SunOS/Solaris'', Version 2.6

The PART (POSIX / Ada-Runtime Project) is happy to announce a new
release of the C sources of the Pthreads library.

ftp-site:  ftp.cs.fsu.edu
internet#: 128.186.121.114
directory: /pub/PART
files:     pthreads.tar.Z, pthreads_serf92.ps.Z, pthreads_usenix93.ps.Z,
	   pthreads_interface.ps.Z, rtoss94.ps.Z, pthreads_tr94-091.ps.Z

mail-list: mueller@uzu.cs.fsu.edu	Subject: subscribe-pthreads
WWW:       http://www.cs.fsu.edu/~mueller

There is also a Pthreads mailing list distributing information about
new releases, bug patches and related issues. You can subscribe to the
mailing list either
- via WWW URL "http://www.cs.fsu.edu/~mueller/bin/pthreads-form.cgi"
- or by sending e-mail to "mueller@uzu.cs.fsu.edu" with the subject line
  "subscribe-pthreads". [If your local mailer inserts an incorrect
  return address, send mail message with a different subject and include
  your correct e-mail address.]

As part of the PART project we have been designing and implementing a
library package of preemptive threads which is compliant with POSIX
1003.4a Draft 6. A description of the interface for our Pthreads
library is also available on ftp. Our implementation is limited to the
Sun SPARC architecture and SunOS 4.1.x or Solaris. We do not make any
use of Sun's light-weight processes to achieve better performance
(with one I/O-related exception).

What's NEW:

  .bug fix: [sig]setjmp() register flush added since caller may change
   his stack point after the call.
  .bug fix: early wakeups under Solaris (SIGALRM) are requeued (Sun's bug).
  .bug fix: struct mutex under Solaris 2.4 caused conflict, fixed
   (problem reported by: Steve Osselton < so@prismtech.co.uk>).
  .bug fix: -D_REENTRANT under Solaris 2.4 caused conflict, fixed
   (problem reported by: Steve Osselton < so@prismtech.co.uk>).

  .draft-specific compile flags dropped (e.g. DRAFT5).
  .ports to ix86 architecture: Linux, FreeBSD, SCO UNIX
   (thanks to [olaf,guenter,gabi]@logware.de and Logware GmbH).
  .non-process-blocking, only thread-blocking I/O (-DIO compile flag)
   supported for ix86 via I/O server thread via polling upon requests.

The following features are included in the current implementation:
-from POSIX.4a:
  .thread management: initializing, creating, joining, exiting, and
   destroying threads
  .synchronization: mutual exclusion, condition variables
  .thread-specific data
  .thread priority scheduling: priority management, preemptive
   priority scheduling (FIFO, RR),
   mutex priority ceilings through stack resource policy (SRP)
  .signals: signal handlers, synchronous and asynchronous wait for
   signals, masking and sending of signals, sleep, long jumps
  .cancellation: cleanup handlers, asynchronous, synchronous, and
   disabled interruptability.
-from POSIX.4:
  .timers: nanosleep, read clock, priority scheduling bounds
-from POSIX.1:
  .synchronous I/O for threads (I/O only blocks current thread, not process)
-others:
  .perverted scheduling for debugging (MUT_SWITCH, RR_SWITCH, RAND_SWITCH)
  .stack overflow check causes signal (optional STACK_CHECK)
  .graceful handling of stack overflow (optional SIGNAL_STACK)
  .repeated inclusion of header files prevented

The support is currently being extended to include:
-from POSIX.4a:
  .draft 10 upgrade
  .mutex priority inheritance / priority ceiling emulation protocol
  .reentrant functions
  .process control: fork, wait, waitpid
   (The above functions are not supported for threads. Their semantics
    is whatever UNIX semantics for processes is. Consequently, a fork
    will fork another process with ALL threads being duplicated, not
    just the executing thread as required by POSIX.4a.
    The functions exec and _exit behave as required without any
    change, i.e. the UNIX process level semantics for these functions
    is also adequate for threads.)
-from POSIX.4:
  .asynchronous I/O for threads
  .asynchronous timer objects
-other:
  .heap memory pools

The current scheduling policies are strict priority scheduling
(according to POSIX.4a FIFO scheduling) which preempts when signals
are caught or round-robin (RR scheduling) which changes context to
another thread of the same priority after a time-slice of 20msec.
Besides asynchronous delivery of signals, context switches only occur
where required by the priority policy, e.g. when resources (mutexes)
are locked etc.

The current implementation has been tested and used as a base to
implement our own (new) runtime-system for an Ada compiler (Verdix).
But we do not make any claims about the completeness or correctness of
this implementation.

(C)OPYRIGHT NOTICE:

   Copyright (C) 1992, the Florida State University
   Distributed by the Florida State University under the terms of the
   GNU Library General Public License.

This file is part of Pthreads.

Pthreads is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation (version 2).

Pthreads is distributed "AS IS" in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public
License along with Pthreads; see the file COPYING.  If not, write
to the Free Software Foundation, 675 Mass Ave, Cambridge,
MA 02139, USA.

Report problems and direct all questions to:

  pthreads-bugs@ada.cs.fsu.edu

-- 
Frank Mueller   E-Mail: mueller@cs.fsu.edu   WWW: http://www.cs.fsu.edu/~mueller

--
Send submissions for comp.os.linux.announce to: linux-announce@news.ornl.gov
PLEASE remember Keywords: and a short description of the software.

From: mueller@informatik.hu-berlin.de (Frank Mueller)
Newsgroups: comp.os.linux.announce
Subject: FSU Pthreads V2.7 (for SPARC and ix86)
Date: Fri, 08 Dec 95 22:28:07 GMT
Organization: Humboldt-Universitaet zu Berlin
Approved: linux-announce@news.ornl.gov (Lars Wirzenius)
Message-ID: < cola-liw-818461687-27044-1@oravannahka.helsinki.fi>


We are happy to announce the latest release of the FSU Pthreads library.
The new release mainly includes bug fixes and support for:

  FreeBSD 2.x
  SCO 3.x

The modified Gnu malloc sources are now part of the release. Don't forget 
to compile and link with them!

Also, the bare-machine implementation source for the SPARC (see WWW page) 
are now merged in.

Below is the full text for the release.
Let us know if there are any problems.

Frank Mueller   E-Mail: mueller@informatik.hu-berlin.de   
WWW: http://www.informatik.hu-berlin.de/~mueller
- -----------------------------------------------------------------------------
``A Library Implementation of POSIX Threads for the SPARC / ix86'', Version 2.7

The PART (POSIX / Ada-Runtime Project) is happy to announce a new
release of the C sources of the Pthreads library.

ftp-site:  ftp.cs.fsu.edu
internet#: 128.186.121.114
directory: /pub/PART
files:     pthreads.tar.Z, pthreads_serf92.ps.Z, pthreads_usenix93.ps.Z,
	   pthreads_interface.ps.Z, rtoss94.ps.Z, pthreads_tr94-091.ps.Z

mail-list: mueller@informatik.hu-berlin.de	Subject: subscribe-pthreads
WWW URL:   http://www.informatik.hu-berlin.de/~mueller/projects.html

There is also a Pthreads mailing list distributing information about
new releases, bug patches and related issues. You can subscribe to the
mailing list either
- - by sending e-mail to "mueller@informatik.hu-berlin.de" with the
  subject line "subscribe-pthreads". [If your local mailer inserts an incorrect
  return address, send mail message with a different subject and include
  your correct e-mail address.]
- - [CURRENTLY NOT SUPPORTED: or via WWW URL
  "http://www.informatik.hu-berlin.de/~mueller/bin/pthreads-form.cgi"]

As part of the PART project we have been designing and implementing a
library package of preemptive threads which is compliant with POSIX
1003.4a Draft 6. A description of the interface for our Pthreads
library is also available on ftp. Our implementation is limited to the
Sun SPARC architecture and SunOS 4.1.x or Solaris. We do not make any
use of Sun's light-weight processes to achieve better performance
(with one I/O-related exception).

What's NEW:

  .bug fix: pthread_siggeset2set ambiguous evaluation order
   (problem and fix by: capints!mariska@relay.NL.net (Mariska Hoogenboom)).
  .bug fix: SCO 3.2 gettimeofday and timerisset incompatible, macro redef.
  .bug fix: FreeBSD io.S result from syscalls read/write mistakenly cleared
   (problem and fix by: wagner@logware.de (Olaf Wagner)).
  .bug fix: negative errno returned in io.S for Linux
  .bug fix: ifdefs for new POSIX types in FreeBSD 2.x and SCO 3.x
  .bug fix: malloc-package ifdefs for Linux and SCO

  .VME MiThOS changes included (STAND_ALONE)
  .malloc lib included

The following features are included in the current implementation:
- -from POSIX.4a:
  .thread management: initializing, creating, joining, exiting, and
   destroying threads
  .synchronization: mutual exclusion, condition variables
  .thread-specific data
  .thread priority scheduling: priority management, preemptive
   priority scheduling (FIFO, RR),
   mutex priority ceilings through stack resource policy (SRP)
  .signals: signal handlers, synchronous and asynchronous wait for
   signals, masking and sending of signals, sleep, long jumps
  .cancellation: cleanup handlers, asynchronous, synchronous, and
   disabled interruptability.
- -from POSIX.4:
  .timers: nanosleep, read clock, priority scheduling bounds
- -from POSIX.1:
  .synchronous I/O for threads (I/O only blocks current thread, not process)
- -others:
  .perverted scheduling for debugging (MUT_SWITCH, RR_SWITCH, RAND_SWITCH)
  .stack overflow check causes signal (optional STACK_CHECK)
  .graceful handling of stack overflow (optional SIGNAL_STACK)
  .repeated inclusion of header files prevented

The support is currently being extended to include:
- -from POSIX.4a:
  .draft 10 upgrade
  .mutex priority inheritance / priority ceiling emulation protocol
  .reentrant functions
  .process control: fork, wait, waitpid
   (The above functions are not supported for threads. Their semantics
    is whatever UNIX semantics for processes is. Consequently, a fork
    will fork another process with ALL threads being duplicated, not
    just the executing thread as required by POSIX.4a.
    The functions exec and _exit behave as required without any
    change, i.e. the UNIX process level semantics for these functions
    is also adequate for threads.)
- -from POSIX.4:
  .asynchronous I/O for threads
  .asynchronous timer objects
- -other:
  .heap memory pools

The current scheduling policies are strict priority scheduling
(according to POSIX.4a FIFO scheduling) which preempts when signals
are caught or round-robin (RR scheduling) which changes context to
another thread of the same priority after a time-slice of 20msec.
Besides asynchronous delivery of signals, context switches only occur
where required by the priority policy, e.g. when resources (mutexes)
are locked etc.

The current implementation has been tested and used as a base to
implement our own (new) runtime-system for an Ada compiler (Verdix).
But we do not make any claims about the completeness or correctness of
this implementation.

(C)OPYRIGHT NOTICE:

   Copyright (C) 1992, the Florida State University
   Distributed by the Florida State University under the terms of the
   GNU Library General Public License.

This file is part of Pthreads.

Pthreads is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation (version 2).

Pthreads is distributed "AS IS" in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public
License along with Pthreads; see the file COPYING.  If not, write
to the Free Software Foundation, 675 Mass Ave, Cambridge,
MA 02139, USA.

Report problems and direct all questions to:

  pthreads-bugs@ada.cs.fsu.edu
- -- 
Frank Mueller   E-Mail: mueller@informatik.hu-berlin.de   
WWW: http://www.informatik.hu-berlin.de/~mueller



-- 
This article has been digitally signed by the moderator, using PGP.
Finger wirzeniu@kruuna.helsinki.fi for PGP key needed for validating signature.
Send submissions for comp.os.linux.announce to: linux-announce@news.ornl.gov
PLEASE remember a short description of the software and the LOCATION.

			  SCO's Case Against IBM

November 12, 2003 - Jed Boal from Eyewitness News KSL 5 TV provides an
overview on SCO's case against IBM. Darl McBride, SCO's president and CEO,
talks about the lawsuit's impact and attacks. Jason Holt, student and 
Linux user, talks about the benefits of code availability and the merits 
of the SCO vs IBM lawsuit. See SCO vs IBM.

Note: The materials and information included in these Web pages are not to
be used for any other purpose other than private study, research, review
or criticism.