Сейчас все это организовано как TCP-сервер, который принимает соединения и при приходе данных из любого из соединений - отсылает их на все остальные. Есть сомнения в производительности такого решения (очень желательно, чтобы процессы как можно быстрее получили данные).
Красиво подходит разделяемая память, но при работе только с ней не возможна блокировка ожидающих процессов. А простого механизма заблокировать и разблокировать процессы я не вижу.
Идеи?


