On Thu, Dec 02, 2004 at 05:35:53PM +0000, Duncan Coutts wrote: > Yes, I've used mmap in a couple projects now just using the FFI. I think > it would be nice to have a System.Posix.MMap module or something with a > portable underlying implementation (see how many mmap variants there are > in the ghc rts MBlock.c implementation to deal with different OSs). > Of course we would have to agree some common interface(s), like do we > get back a raw Ptr () or a managed ForeignPtr or what? We'd need current > users to speak up and say what they're using it for and what interface > they could live with. > My initial guess is that we'd need a mmap_raw which gives back an > unmanaged pointer and also a managed version that has a finaliser that > calls munmap(). Then there is the range of flags that mmap supports on > different OSs. Posix specifies the common ones, and then there is > anonymous pages which can be implemented directly on some systems or > emulated by opening /dev/null or some other similar trick. Both these > interfaces should be implementable on win32 systems (via MapViewOfFile > etc).
Someone showed me an example of darcs using mmap(). So now I just have to figure out how to translate that to get it to work with Linux' remap_file_pages() and some aio interface that can interoperate with it. -- wli _______________________________________________ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
