Итак, я запускаю собственный собственный демон через init.rc. Он пытается сделать что-либо в этом:Android (родной): почему мой сокет недоступен для других процессов?
x_con = android_get_control_socket("test");
int ret = listen(x_con, 1);
int new_s = accept(x_con, (struct sockaddr*)&peeraddr, &socklen);
Или это:
x_con = socket_local_server("test:, ANDROID_SOCKET_NAMESPACE_RESERVED, SOCK_STREAM);
int new_s = accept(x_con, (struct sockaddr*)&peeraddr, &socklen);
В любом случае, я могу видеть гнездо под /dev/socket
, он имеет маску доступа 0666 (из-за Params, установленных в init.rc
) но все равно не может принять какое-либо соединение (казалось бы, недоступное для других процессов).
Это связано с особенностью Android от Paranoid Network?
Некоторые из моих экспериментов по-прежнему неясны с правами доступа - сокеты создаются с неправильными разрешениями иногда. –