почему FreeBSD, получая опцию TCP-сокета, должна блокировать запись-блокировку? - PullRequest
2 голосов
/ 03 февраля 2011

В FreeBSD для получения параметров сокета TCP (в tcp_ctloutput () в tcp_usrreq.c) необходимо выполнить блокировку с INP_WLOCK (inp), как это делается при настройке параметров сокета.Поскольку получение опции сокета TCP только читает некоторые данные из блока управления tcp и не изменяет данные, мне любопытно, почему мы не используем блокировку чтения с INP_RLOCK (inp) для лучшей производительности.

1 Ответ

1 голос
/ 22 апреля 2012

Если вы не установите блокировку записи, параметры могут измениться во время чтения, что приведет к фиктивным результатам.

...