     RELEASE_NOTES for Ensemble version 1.36

Author: Ohad Rodeh
Last updated: 13/05/2002

RELEASE_NOTES

  This release includes a thread-safe version of the CE libraries.
The thread-safe inboard version is named libce_mt.so, the outboard
version is named libceo_mt.so. On windows, a serious memory leak
has been identified for the CE dll's. The problem does exist for the
equivalent static libraries. Until the problem is fixed, only static
libraries will be shipped for win32. 

The thread-safe version
requires the application to synchronize its threads so that they will
not perform actions (send, cast, prompt, etc.) while the application
is stabilizing. An example is provided in ce/ce_mtalk_mt.c,
documentation and a tutorial have been added.

The thread-safe library is designed as a wrapper around the basic
library.  A single thread runs the Ensemble main loop as well as all
application callback handlers. When a user-thread performs an action
outside of a handler, the action is stored in a pending queue.
A byte is sent through a socket to the Ensemble thread, which
consumes the queue, and performs all pending actions. Any 
actions invoked in the interim period will also be stored in the
pending queue. Ensemble will perform all actions in a batch. 

OCAML COMPILER VERSION
  We are using version 3.04 for this version. 

PORTABILITY
  This version was tested on Linux, and WIN2000. 


