Что означают объявления {sa_family = AF_UNIX} и [110-> 2] в accept4? - PullRequest
0 голосов
/ 08 апреля 2019

Я сделал страйс на своем андроиде и получил следующую строку

accept4(8<UNIX:[246]>, {sa_family=AF_UNIX}, [110->2], 0) = 9<UNIX:[2512219]>

Я не понимаю, что делает {sa_family = AF_UNIX} (это должен быть указатель sockaddr, но куда он указывает с точки зрения пути и адреса памяти?), И я хочу знать, что означают 110 и 2 и почему 110 указывает на 2 и что именно возвращается из этой операции.

(Мне действительно любопытно, что одноранговый узел сокета создан так, потому что я не могу найти индекс 2512219 ни в одном из файлов proc / PID / fd, поэтому мне интересно, есть ли процесс, который читает / записывает сокет мёртв, и если я смогу узнать его имя.) Спасибо!

1 Ответ

1 голос
/ 08 апреля 2019

С человек принимает4 :

int accept4 (int sockfd, struct sockaddr * addr, socklen_t * addrlen, int flags);

accept4(8<UNIX:[246]>, {sa_family=AF_UNIX}, [110->2], 0) = 9<UNIX:[2512219]>
  • 8 - это значение sockfd. От мужчины: the listening socket, sockfd
  • 246 - номер индекса 8 дескриптора файла
  • Член структуры .sa_family в структуре struct sockaddr, хранящийся в памяти, на которую указывает указатель addr, имеет значение AF_UNIX
  • От человека: [addr] It is filled in with the address of the peer socket, as known to the communications layer.
  • 110 входное значение addrlen (целое число socklen_t, сохраненное в памяти, на которое указывает указатель addrlen). От мужчины: the caller must initialize it [addrlen] to contain the size (in bytes) of the structure pointed to by addr;
  • 2 значение addrlen после возврата функции. От мужчины: will contain the actual size of the peer address.
  • 0 flags flags. От мужчины: If flags is 0, then accept4() is the same as accept().
  • 9 возвращен дескриптор файла. От мужчины: a nonnegative integer that is a file descriptor for the accepted socket
  • 2512219 номер индекса 9 дескриптора файла
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...