use mmap instead of pipes for interprocess communication