[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Janne Hellsten <janne@h...> |
| Subject: | interprocess mutex |
Hello, I need to sequentialize two processes accessing the same GDBM database (OCaml's dbm library). Since GDBM allows for only one writer at a time, I need a way to block until the previous writer has finished. I think there is a way to do this with the original GDBM library since it claims to handle the file lockings properly -- I could block based on the returned error codes. However, this functionality does not appear to be exposed through the Dbm module. Of course I can implement this blocking myself with an interprocess mutex. But how can I implement such a mutex in OCaml? I couldn't find anything from the standard library that would resemble my problem. Is it easily doable or do I need to go and start hacking C code? I've never done it on Unix but I know it's easily done on Windows. Thanks in advance, Janne P.S. I'm using GDBM merely as a cache between process invocations, so using a more heavyweight DB is out of the question.