Things that still need attention: * Make implementation changes necessary to allow multiple processes to use the mmalloc managed region simultaneously. This requires, at the minimum, some sort of cooperative locking that ensures that only one process at a time is changing any of the mmalloc managed data structures (its ok for the mmalloc managed data regions to be changed at any time since we don't care about their contents). * In order to support multiple processes using the mmalloc managed region, the malloc descriptor needs to be broken into two parts, one part which is specific to the given process and is maintained separately on a per process basis, and another part which is common to all processes. As an example, the file descriptor is specific to a given process, as are the morecore and abortfunc pointers. However magic[], the version number, the flags field, etc are common to all processes.