[Spread-users] Spread 3.16.2 released

Jonathan Stanton jonathan at cnds.jhu.edu
Thu Apr 4 17:41:45 EST 2002

I am very happy to announce that Spread 3.16.2 has been released. The
source and binary distribution are available from the Spread website
www.spread.org. The binary distribution includes Linux (redhat 7.1), BSDI
(4.0.1), FreeBSD (4.3), Solaris Sparc (2.6), Irix MIPS (6.5.4), and Windows.

The only changes between the previous test release called 3.16.2rc1 and this
final release are documentation additions and updates, a new release date in
the binary and a rebuild of the generated lex/yacc files with a better
version of yacc/bison to avoid a problem with the parser on windows.
The official announcement follows.


Spread 3.16.2  http://www.spread.org

Spread is a toolkit that provides a high performance messaging service 
that is resilient to faults across external or internal networks. Spread 
functions as a unified message bus for distributed applications, and 
provides highly tuned application-level multicast and group communication 
support. Spread services range from reliable message passing to fully 
ordered messages with delivery guarantees, even in case of computer 
failures and network partitions.

Spread is designed to encapsulate the challenging aspects of asynchronous 
networks and enable the construction of scalable distributed applications, 
allowing application builders to focus on the differentiating components 
of their application.

A new stable version, 3.16.2, of the Spread toolkit was released today. 
The main focus of this release was bugfixes and stability. This version
significantly improves stability on Windows platforms specifically.

1) All recv calls in session now check for EWOULDBLOCK, EAGAIN, EINTR 
   and retry the call later. This fixes problem on busy servers where 
   connections would be killed erroneously. Thanks to the Zope team 
   (Guido van Rossum, Tim Peters, and Jeremy Hylton) for discovering this
   and helping with fixing it.
2) log.c file operations now check for errors and handle them.
3) Windows bugs:
   a) close() does not close sockets, we need to call closesocket() to avoid
      memory leak.
   b) sockets are not consecutive fd's on windows, they can be > FD_SETSIZE.
      So fd mapping to sessions changed to use a hash instead of array. 
      As a side-effect it should be faster to connect/disconnect. 
      Thanks to Marc Zyngier for discovering the problem and writing and 
      testing a patch for it.
   c) Raise the FD_SETSIZE for windows to 1024 by #defining it in arch.h.
   d) Enhanced error handling to support WSAGetLastError, and define a
      sock_strerror() function to return nice error strings on windows.
   e) Include Visual C++ Project files to build Spread on Windows.
4) Included improved NetBSD makefile and warning fix from Patrick Welche.
5) Generalize the errno handling to support windows errors and other 
   odd cases. Also see fix 3d. Thanks to Marc Zyngier, Tim Peters, and
   David Holmer for help with this.
6) Improve the install targets for linux. Now install include headers
   and use standard PREFIX define for base directory.
7) Updates to man pages. New libsp manpage.

With the Spread Open Source License, the toolkit may be freely 
used under some conditions.  For example, the license includes the 
requirement that all advertising materials (including web pages) 
mentioning software that uses Spread display a specific acknowledgement. 
Please review the license agreement for more details.

Other commercial licenses or other licensing arrangements are available. 
Please contact michal at spreadconcepts.com. We are looking for partners 
interested in using group communication and/or replication to solve 
demanding, real-world problems.


Jonathan R. Stanton         jonathan at cs.jhu.edu
Dept. of Computer Science   
Johns Hopkins University    

More information about the Spread-users mailing list