The Ada spawn manager implements the concept described in the GNAT GPL package System.OS_Lib. It is used to solve the problem of spawning processes at arbitrary times from multitasking Ada programs:
If the parent is using tasking, and needs to spawn subprocesses at arbitrary times, one technique is for the parent to spawn (very early) a particular spawn-manager subprocess whose job is to spawn other processes. The spawn-manager avoids tasking. The parent sends messages to the spawn-manager requesting it to spawn processes, using whatever inter-process communication mechanism you like, such as sockets.
— GNAT COMPILER COMPONENTS
The Ada spawn manager uses UNIX domain sockets provided by the Anet library to implement fast and simple IPC.
Currently there’s no official release version, but you can git clone the development version:
git clone http://git.codelabs.ch/git/spawn-manager.git
I wonder how this compares to spawning processes using the Florist POSIX package found at libre.adacore.com?