@hackage interprocess0.1.0.0

Shared memory and control structures for IPC

interprocess

WIP: platform-independent interprocess communication.

The core feature is shared memory allocator implemented using POSIX mmap and Windows CreateFileMapping. You can create as many allocators as you want (as your RAM can afford) and concurrently malloc and free memory in different processes using them.

Features and TODO:

  • Foreign.SharedPtr -- malloc, realloc and free in the shared memory region that can be accessed by multiple processes.
  • Semaphores
  • Mutexes (not sure if need this)
  • Mutable variables via Storable instance plus garbage collection.
  • Proper error messages
  • Debug, verbose mode

The idea of the library is to address GHC stop-the-world GC problem:

  1. Create several instances of your program in different isolated processes using e.g. typed-process library.
  2. Establish shared memory and semaphore usage via this program
  3. Garbage collection events in one process do not affect another one at all. Profit!
  • Installation

  • Dependencies (0)

  • Dependents (1)

    @hackage/acme-everything
  • Package Flags

      examples
       (off by default)

      Build example-test programs

      dev
       (off by default)

      Development build with debugging and with no optimization