Re: Разные архитектуры

Igor Sysoev igor на sysoev.ru
Чт Ноя 24 10:34:33 UTC 2011


On Thu, Nov 24, 2011 at 02:13:07PM +0400, Dmitry E. Oboukhov wrote:
> Есть архитектуры [1], на которых отсутствует макрос PATH_MAX.
> 
> Есть так же много размышлений (например [2]) в сети на тему почему
> PATH_MAX использовать не стоит итп.
> 
> Ну и есть в частности результат в виде логов, что nginx на этих
> платформах недоступен (как пример [3]).
> 
> grep на предмет использования PATH_MAX показывает всего два места где
> это применяется:
> 
> $ grep NGX_MAX_PATH -r src 
> 
> src/http/ngx_http_variables.c:    u_char
> real[NGX_MAX_PATH];
> src/os/unix/ngx_files.h:#define NGX_MAX_PATH             PATH_MAX
> src/core/nginx.c:        p = ngx_pnalloc(cycle->pool, NGX_MAX_PATH);
> src/core/nginx.c:        if (ngx_getcwd(p, NGX_MAX_PATH) == 0) {
> rc/core/ngx_file.h:#define NGX_MAX_PATH_LEVEL  3
> 
> 
> И вроде их оба несложно пофиксить для более успешного продвижения
> nginx на другие архитектуры.
> 
> Что кто думает по этому поводу? Ну кроме "hurd не нужен"?
> 
> 1. http://www.gnu.org/s/hurd/community/gsoc/project_ideas/maxpath.html
> 2. http://insanecoding.blogspot.com/2007/11/pathmax-simply-isnt.html
> 3. https://buildd.debian.org/status/fetch.php?pkg=nginx&arch=hurd-i386&ver=1.1.8-2&stamp=1322127530

И как узнать необходимую длину ?

http://pubs.opengroup.org/onlinepubs/000095399/functions/getcwd.html

   If buf is a null pointer, the behavior of getcwd() is unspecified.

http://pubs.opengroup.org/onlinepubs/7908799/xsh/realpath.html

   Ничего про NULL буфер нет.


-- 
Игорь Сысоев
http://sysoev.ru



Подробная информация о списке рассылки nginx-ru