|
From: Tom H. <to...@co...> - 2005-10-04 13:57:25
|
In message <yek...@de...>
Tom Hughes <to...@co...> wrote:
> It turns out that shmdt is a bit broken since the merge...
>
> The problem is that the post handler unmaps the whole of the segment
> containing the specified address which is really bad if the shared
> memory segment has been merged with an adjacent segment by the address
> space manager because they are compatible.
>
> I think the old system mostly got away with it because there was a
> special flag for shared memory which probably stopped it merging most
> of the time.
I've had a go at fixing this and my best scheme so far is to
create a new SkShmC segment type for shared memory segments and
then prevent the address space manager from merging those segments.
The only problem with that is notifying aspacem that the memory is
a shared memory segment - I've stolen a bit from the mmap flags at
the moment but that is nasty so I'm thinking that adding a special
notify function to aspacem for shm segments might be better?
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|