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