Как использовать абстрактные имена сокетов домена 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, у вас мог бы быть шанс сделать эту работу.