Как использовать абстрактные имена сокетов домена unix с fcgi в Perl в Linux?

В Linux, в Perl, используя модуль FCGI, используя функцию Open Socket, возможно ли создавать доменные сокеты unix, используя абстрактные имена?

Я пытался создать сокет, начиная с нулевого символа \0wibble \zwibble \x{0}wibble и это не сработало!

Он работал только с использованием pathname, как описано в unix(7):

$socket = FCGI::OpenSocket( "/tmp/wibble", 10 );

Спасибо!

1 ответ

Решение

Реализация, лежащая в основе FCGI::OpenSocket(), не поддерживает его.

Этот вызов в конечном итоге вызывает функцию C int OS_CreateLocalIpcFd(const char *bindPath, int backlog), Вы можете сразу сделать вывод, что bindPath Аргумент понимается как NUL-концевая, а не NUL-префиксная строка.

Если бы вы могли предоставить свой собственный сокет для FCGI.pm, у вас мог бы быть шанс сделать эту работу.

Другие вопросы по тегам