Я работаю с RAW-сокетами, где мои приложения отправляют запросы и принимают ответ из одного и того же сокета. В одном сокете запущено несколько процессов, похожих на мое приложение. Все процессы выполняются в цикле while, как показано ниже
while true
do
application1;
application2;
application3;
application4;
my_application;
done
Проблема, с которой я сталкиваюсь, заключается в том, что когда какой-либо один процесс отправляет запрос на сокет, ответ будет обновляться всеми процессами, работающими в цикле. Так как это необработанный сокет, как дифференцировать ответы для каждого процесса. Я пробовал именованный двоичный семафор, но я наблюдал неопределенное поведение (например, мертвую блокировку).
Любые советы или предложения, чтобы дифференцировать ответ для каждого процесса.