Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] Ensemble version 1.40 released
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Ohad Rodeh <ORODEH@i...>
Subject: [Caml-list] Ensemble version 1.40 released
   A new release is now available from the system homepage at,

  RELEASE_NOTES for Ensemble version 1.40

Author: Ohad Rodeh
Last updated: 19/December/2002


  This release primarily solves a long standing problem with the use
of DLLs on win32 platforms. CE was rewritten so as to compiled into a
DLL instead of a static library. Since JNI requires shared libraries,
this finally allows cejava to work on win32 and not just Unix. The second
problem solved in this release is the gossip bug on win32, this was due
to problems with UDP sockets.

The major change in the CE API is in memory allocation
conventions. Instead of the application allocating memory chunks, such
as arrays of destinations and vectors pointing to C-memory chunks, CE
now copies these auxiliary buffers into its own memory areas. This
completely separates the memory areas used by the application and
CE/Ensemble. The only sharing occurs for message bodies which are not
copied. To this end the application must set the message alloc/free
functions used by CE for messages, for example:


will allows messages allocated by the application using malloc to freed by Ensemble.

The API change would require CE applications to be modified for the
new memory conventions, which is not a "good thing". This was done
primarily to allow using DLLs, where each DLL keeps a private copy of
LIBC. Therefore, memory allocated by one DLL (the application) cannot be
freed by another DLL (CE). In the longer term, it separates the
application and library from each other and should make developement
easier. It also saves allocations for iovector arrays and destination arrays on
the critical message send path.

  We are using version 3.06 for this version.

  This version was tested on Linux (RedHat 7.1, 7.2, 7.3, i386 architecture) and windows XP.


Ohad Rodeh
tel: +972-3-6401641
IBM Haifa, storage research

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: