News 1999

July 27, 1999

Spread Version 3.11 Relased with Source Code

New version of Spread released. First version with Source code included!.

July 8, 1999 website

Created Separate Spread website and started enhancing it.

July 5, 1999

Spread License

Final version of the Spread license is available. Please email if you have any concerns or questions.

May 26, 1999

Release Version 3.10

  1. Expiration Date Removed from Binary version.
    This release of the executables will not expire.
  2. New Copyright Statement
    The copyright of Spread has been finalized. The statement at the top of this file shows it.
  3. Source release soon & new license
    1. As soon as a few final issues are resolved we will release the source to Spread under the CNDS Non-Commercial License.
    2. A draft of the new license can be found at Please email us any comments or concerns you have at
  4. Bugs Fixed:
    1. Bug fix to the SP_scatter_recv() call to make receives into scatter structures of multiple entries of different sizes work.
    2. The Linux platform also had scatter-gather functionality enabled (now that glibc has working sendmsg, recvmsg calls)
    3. Fixed bug where packets which are delayed a long time in the network but then actually arrive at a spread daemon cause a crash.

October 30,1998

Release Version 3.9

  1. Multi-threading:
    Libsp.a has split into two libraries, libsp.a and libtsp.a, they are identical except that libtsp.a is thread-safe and libsp.a is not. Both versions are provided so that single-threaded programs who don't need a safe library can avoid the (admittedly pretty small) overhead of locking. The libtsp.a can be used identically with libsp.a with the addition that all SP_* functions can be called by multiple threads at the same time. Thread safety in libtsp.a is provided optimally, with the most possible parallelism allowed. Threads acting on separate mailboxes will never block each other, threads writing to a mailbox will never block other threads reading from the same mailbox and vice versa. The one time thread calls to SP_ functions will be serialzed is when multiple threads are reading the same mailbox or writing the same mailbox. There is minimal locking of internal structures which can temporarily block another thread, but since a thread never blocks while in one of these structure critical sections and the duration of the lock is at most a few instructions the delay should be minimal.
  2. IP-Multicast:
    Spread now allows you to specifiy IP-Multicast addresses(i.e. as the broadcast address for a segment in the config.dat file. This will work transparently in the same segment, and is guaranteed not to spill multicast packets beyond that segment. If multi-segment ip-multicast is desired, please contact us.
  3. Fixed several minor bugs.
  4. Included man pages for SP functions. The old html documentation is also included.
  5. None of these changes effect the Java version which has not changed.