Changes by: David Noblet (dnoblet at cs.caltech.edu)
Date: 2006-01-30 20:14:45 -0800 (Mon, 30 Jan 2006)
This commit fixes a rather serious bug in the create function in GC which would allow concurrent write access to various data structures. In order to avoid this, the approach that was taken involves the addition of a new message type: Create_request. Now, when a node would like to create a group, it calls the create function in order to send a Create_request message to itself. When a node processes a Create_request message it performs the functionality that the old version of the create function used to do.
NOTE: As a result of these changes, the group descriptor is now delivered to the upper layers asynchronously. This changes the API of the GC library slightly (create now returns unit); so appropriate modifications will have to be made to the upper layers.