16 lines
897 B
Plaintext
16 lines
897 B
Plaintext
|
(1) 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).
|
||
|
|
||
|
(2) 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.
|