Здравствуйте, Анатолий Широков, Вы писали:
АШ>Здравствуйте, v_andal, Вы писали:
_>>Своеобразный однако файервол. А Вы ничего не путаете? Обычно дескрипторы возникают там, где в пользовательском пространстве необходимо адресовать память из пространства ядра. Напрямую пользовательская программа не имеет доступа к пространству ядра, вот и приходится вводить дескрипторы. То есть это не способ защитить структуру, а способ предоставить доступ к области недоступной пользователю. Если структура уже находится в пространстве пользовательской программы, то смысла в дескрипторах никакого, только код усложнять, да скорость снижать. ИМХО
АШ>Файервол, как файервол. Не понимаю, где вы здесь видите усложнение — ну косвенный доступ по дескриптору, ну большая защищенность служебных данных, ну нет необходимости клиенту заботится об утечках (сборкой мусора занимается вендор библиотеки). ИМХО
Да понятно, что усложнение минимально, просто оно не имеет смысла. Опять же, файервол — это то, что нельзя пройти в наглую, только с разрешения. В данном же случае, если библиотека в пользовательском пространстве, то ходить можно хоть с разрешением, хоть в наглую. Какой же это "файервол"? Так, потуги спрятать свою структуру чуток подальше. Я всего лишь не вижу в этих потугах смысла. Об утечках клиенту всё равно придётся заботится. Если он дескриптор забыл освободить, то никакой мусорщик внутреннюю структуру не вычистит ибо пользователь не сказал, что она не нужна. Ну ленивый я тип, ненавижу делать то, что не имеет никакого смысла