a version that uses mmap'd file between processes