История изменений
Исправление hateyoufeel, (текущая версия) :
Ты не понял. Проблема в том, что один процесс-получатель может поднасрать другим. Если ты запишешь что-то в copy1, читающий из copy2 это увидит.
В идеальном варианте, как я себе это представляю, отправитель создаёт сообщение, отсылает его, а дальше если получатель один, то всё как обычно: страница просто удаляется из памяти отправителя и мапится в память получателя. Если же получателей много, страница с сообщением мапится каждому с CoW.
Я понимаю, что руками в лялексе это можно сделать. Но это должна делать шина сама, а не автор каждой проги.
Кстати, для memfd можно вообще CoW сделать?
Исходная версия hateyoufeel, :
Ты не понял. Проблема в том, что один процесс-получатель может поднасрать другим. Если ты запишешь что-то в copy1, читающий из copy2 это увидит.
В идеальном варианте, как я себе это представляю, отправитель создаёт сообщение, отсылает его, а дальше если получатель один, то всё как обычно: страница просто удаляется из памяти отправителя и мапится в память получателя. Если же получателей много, страница с сообщением мапится каждому с CoW.
Я понимаю, что руками в лялексе это можно сделать. Но это должна делать шина сама, а не автор каждой проги.