[Spread-users] ANN: Python Spread Module 1.1 Released

Guido van Rossum guido at python.org
Fri May 17 16:48:16 EDT 2002


I've released version 1.2 of the Spread Module for Python:

    http://www.python.org/other/spread/

About the Spread Module
-----------------------

This package contains a simple Python wrapper module for the Spread
toolkit (see below).  The wrapper is compatible with Python 2.1 and
2.2.  It wraps Spread mailboxes and messages in Python objects with
appropriate methods and attributes, and turns Spread errors into
Python exceptions.  Virtually all Spread features are accessible from
Python.

About Spread
------------

>From the Spread website (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.


Changes since release 1.2
-------------------------

- Changed internal uses of Python's object memory API to stop using
  macro versions of the names (that worked fine, but was dubious
  practice for non-core extension modules).

- Changed mbox.disconnect() to be as safe as possible when
  SPREAD_DISCONNECT_RACE_BUG is not defined.

- Added a test to ensure than the scenario described below doesn't
  deadlock (two threads in a process sharing an mbox, and one thread
  doing mbox.receive() waiting for the other thread to do
  mbox.multicast()). This test deadlocks with high probability if you
  define SPREAD_DISCONNECT_RACE_BUG.

- SPREAD_DISCONNECT_RACE_BUG is turned off, although Spread 3.16.2
  still suffers the insecurity it was guarding against. Alas, the
  workaround can cause deadlocks, depending on how the app uses
  Spread.

Enjoy!

--Guido van Rossum (home page: http://www.python.org/~guido/)





More information about the Spread-users mailing list