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. |