kraison / vivace-graph-v3

VivaceGraph version 3. Open source Common Lisp graph database & Prolog implementation. Supersedes http://github.com/kraison/vivace-graph-v2.
Other
152 stars 29 forks source link

Use of osicat:mremap #22

Closed matthieupeeters closed 3 years ago

matthieupeeters commented 7 years ago

On mmap.lisp(151) there is a call to a function osicat-posix:mremap. This seems to be unavailable on Darwin. Is there a way to support MacOS in this regard?

kraison commented 7 years ago

The call to mremap is necessary in order to extend memory mapped files when space is low. It is possible to do the same thing by calling munmap / mmap, but you would probably need additional locks to ensure that bad things didn't happen to threads that were in the middle of writing to the mapped file. Otherwise, there may be other incompatibilities with OSX; no efforts have been made to date to support it. If you would like to contribute a patch, please feel free!

matthieupeeters commented 7 years ago

So far this seems to be the only incompatibility with OSX. I made a workaround without taking the locks into consideration, but that is not patch-worthy.

I came to this project while investigating RDF storage data structures.

arademaker commented 5 years ago

Hi @matthieupeeters, can you share your patch ? It can be useful just for dev environment

dco-lentz commented 4 years ago

resolved by https://github.com/kraison/vivace-graph-v3/pull/26