home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gnat-2.06-src.tgz / tar.out / fsf / gnat / ada / threads / src / ANNOUNCE next >
Text File  |  1996-09-28  |  6KB  |  134 lines

  1.  
  2. ``A Library Implementation of POSIX Threads under SunOS/Solaris'', Version 2.5
  3.  
  4. The PART (POSIX / Ada-Runtime Project) is happy to announce a new
  5. release of the C sources of the Pthreads library.
  6.  
  7. ftp-site:  ftp.cs.fsu.edu
  8. internet#: 128.186.121.114
  9. directory: /pub/PART
  10. files:     pthreads.tar.Z, pthreads_serf92.ps.Z, pthreads_usenix93.ps.Z,
  11.        pthreads_interface.ps.Z, rtoss94.ps.Z, pthreads_tr94-091.ps.Z
  12.  
  13. mail-list: mueller@uzu.cs.fsu.edu    Subject: subscribe-pthreads
  14. WWW:       http://www.cs.fsu.edu/~mueller
  15.  
  16. There is also a Pthreads mailing list distributing information about
  17. new releases, bug patches and related issues. You can subscribe to the
  18. mailing list either
  19. - via WWW URL "http://www.cs.fsu.edu/~mueller/bin/pthreads-form.cgi"
  20. - or by sending e-mail to "mueller@uzu.cs.fsu.edu" with the subject line
  21.   "subscribe-pthreads". [If your local mailer inserts an incorrect
  22.   return address, send mail message with a different subject and include
  23.   your correct e-mail address.]
  24.  
  25. As part of the PART project we have been designing and implementing a
  26. library package of preemptive threads which is compliant with POSIX
  27. 1003.4a Draft 6. A description of the interface for our Pthreads
  28. library is also available on ftp. Our implementation is limited to the
  29. Sun SPARC architecture and SunOS 4.1.x or Solaris. We do not make any
  30. use of Sun's light-weight processes to achieve better performance
  31. (with one I/O-related exception).
  32.  
  33. What's NEW:
  34.   .bug fix: pthread_setintr in signal.c, tested for wrong return value
  35.    of sigprocmask (problem reported by: vojtowic@mailer.cefriel.it
  36.    (Jakub Wojtowicz (Area NTW))).
  37.   .bug fix: SIGARLM was not delivered to user when unrelated to Pthreads
  38.    internal handling (poblem reported by: felber@lsesun1.epfl.ch
  39.    (Pascal FELBER)).
  40.   .bug fix: compile pthread_disp.c only with -O1 to avoid error in signal
  41.    handler when compiled with C_CONTEXT_SWITCH (poblem reported by:
  42.    adaudet@cs.sandia.gov (Al D. Audette))
  43.   .bug fix: conditional variables exit code was incorrect (problem
  44.    reported and fixed by: capints!ruud@relay.NL.net (Ruud de Groot)).
  45.   .bug fix: pthread_tempstack was not defined when compiled w/ STACK_CHECK
  46.    but w/o SIGNAL_STACK (problem reported and fixed by:
  47.    Robert.Allgeuer@aut.alcatel.at (Robert Allgeuer)).
  48.   .bug fix: DEBUG and MALLOC did not work together due to reentering kernel.
  49.   .bug fix: longjmp out of signal handler could have caused unbounded stack
  50.    growth, fixed by ealy flush and restore of frame pointer (problem reported
  51.    by: ka@socrates.hr.att.com (Kenneth Almquist)).
  52.  
  53. The following features are included in the current implementation:
  54. -from POSIX.4a:
  55.   .thread management: initializing, creating, joining, exiting, and
  56.    destroying threads
  57.   .synchronization: mutual exclusion, condition variables
  58.   .thread-specific data
  59.   .thread priority scheduling: priority management, preemptive
  60.    priority scheduling (FIFO, RR),
  61.    mutex priority ceilings through stack resource policy (SRP)
  62.   .signals: signal handlers, synchronous and asynchronous wait for
  63.    signals, masking and sending of signals, sleep, long jumps
  64.   .cancellation: cleanup handlers, asynchronous, synchronous, and
  65.    disabled interruptability.
  66. -from POSIX.4:
  67.   .timers: nanosleep, read clock, priority scheduling bounds
  68. -from POSIX.1:
  69.   .synchronous I/O for threads (I/O only blocks current thread, not process)
  70. -others:
  71.   .perverted scheduling for debugging (MUT_SWITCH, RR_SWITCH, RAND_SWITCH)
  72.   .stack overflow check causes signal (optional STACK_CHECK)
  73.   .graceful handling of stack overflow (optional SIGNAL_STACK)
  74.   .repeated inclusion of header files prevented
  75.  
  76. The support is currently being extended to include:
  77. -from POSIX.4a:
  78.   .draft 10 upgrade
  79.   .ports (FreeBSD and Linux in progress)
  80.   .mutex priority inheritance / priority ceiling emulation protocol
  81.   .reentrant functions
  82.   .process control: fork, wait, waitpid
  83.    (The above functions are not supported for threads. Their semantics
  84.     is whatever UNIX semantics for processes is. Consequently, a fork
  85.     will fork another process with ALL threads being duplicated, not
  86.     just the executing thread as required by POSIX.4a.
  87.     The functions exec and _exit behave as required without any
  88.     change, i.e. the UNIX process level semantics for these functions
  89.     is also adequate for threads.)
  90. -from POSIX.4:
  91.   .asynchronous I/O for threads
  92.   .asynchronous timer objects
  93. -other:
  94.   .heap memory pools
  95.  
  96. The current scheduling policies are strict priority scheduling
  97. (according to POSIX.4a FIFO scheduling) which preempts when signals
  98. are caught or round-robin (RR scheduling) which changes context to
  99. another thread of the same priority after a time-slice of 20msec.
  100. Besides asynchronous delivery of signals, context switches only occur
  101. where required by the priority policy, e.g. when resources (mutexes)
  102. are locked etc.
  103.  
  104. The current implementation has been tested and used as a base to
  105. implement our own (new) runtime-system for an Ada compiler (Verdix).
  106. But we do not make any claims about the completeness or correctness of
  107. this implementation.
  108.  
  109. (C)OPYRIGHT NOTICE:
  110.  
  111.    Copyright (C) 1992, the Florida State University
  112.    Distributed by the Florida State University under the terms of the
  113.    GNU Library General Public License.
  114.  
  115. This file is part of Pthreads.
  116.  
  117. Pthreads is free software; you can redistribute it and/or
  118. modify it under the terms of the GNU Library General Public
  119. License as published by the Free Software Foundation (version 2).
  120.  
  121. Pthreads is distributed "AS IS" in the hope that it will be
  122. useful, but WITHOUT ANY WARRANTY; without even the implied
  123. warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  124. See the GNU Library General Public License for more details.
  125.  
  126. You should have received a copy of the GNU Library General Public
  127. License along with Pthreads; see the file COPYING.  If not, write
  128. to the Free Software Foundation, 675 Mass Ave, Cambridge,
  129. MA 02139, USA.
  130.  
  131. Report problems and direct all questions to:
  132.  
  133.   pthreads-bugs@ada.cs.fsu.edu
  134.