размер _POSIX_PATH_MAX - PullRequest
       6

размер _POSIX_PATH_MAX

3 голосов
/ 18 февраля 2010

Является ли размер _POSIX_PATH_MAX одинаковым для всех версий Unix (Linux, Solaris) ..

1 Ответ

6 голосов
/ 18 февраля 2010

Нет, это не обязательно то же самое для данных экземпляров точно такой же версии ядра. В большинстве ядер это настраиваемый параметр. Часто для его изменения потребуется перекомпиляция или перекомпоновка ядра, но это может измениться, не имея совершенно нового ядра.

В некоторых (я думаю, что в настоящее время) системах этот макрос не преобразуется в целочисленный литерал, он преобразуется в системный вызов, который возвращает целое число. Поэтому, если ядро ​​позволяет перенастроить систему во время выполнения, оно вернет текущее значение параметра.

Я бы просто предположил, что он не может измениться за время жизни вашей программы. Если вы предполагаете, что это может измениться в любое время, вы столкнетесь с условиями гонки, в которых значение изменяется между временем, когда вы его читаете, и временем, когда вы его используете. Если вы просто явно заявляете, что ваша программа предполагает, что она никогда не изменится в течение срока ее действия, то системные администраторы, которые ее запускают, должны будут принять практику, которую они должны применять в любом случае, и изменять только параметры ядра при запуске.

Здесь вас могут заинтересовать три вызова POSIX:

Я бы порекомендовал поискать и другие источники, чтобы понять, какие переменные широко поддерживаются, а какие нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...