[Spread-users] Spread 3.16.2 released
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
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