Spym
@Spym

Sendmsg с файловым дескриптором, открытым в обоих процессах?

Доброго дня.


У меня есть 2 процесса (A и B), в обоих есть открытый файловый дескриптор. Я отправляю его из A в B при помощи sendmsg(..).

Будет ли в B создан новый дескриптор для того же файла (т.е. в B мы получим эффект, эквивалентный dup(..)), или нет?
  • Вопрос задан
  • 2669 просмотров
Решения вопроса 1
@lesha_penguin
Посылать надо не в теле сообщения, а в auxiliary data через cmsg_level==SOL_SOCKET и cmsg_type==SCM_RIGHTS то результат будет аналогичный dup.

Только для начала нужно разрешить передачу через setsockopt(fd,SOL_SOCKET,SO_PASSCRED,&enable,sizeof(enable));

В общем man unix; man cmsg; man setsockopt
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Eddy_Em
Файловый дескриптор — это простое число. Как вы его вообще собираетесь другому процессу отправлять? Ему это число ни о чем не скажет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы