init

#define ANDROID_SOCKET_DIR        "/dev/socket"
#define PROP_SERVICE_NAME "property_service"
#define PROP_FILENAME "/dev/__properties__"
static char property_filename[PATH_MAX] = PROP_FILENAME;
---------------------------------------------------------------
init进程属性服务内存映射
static int map_prop_area_rw()
 const int fd = open(property_filename,

/dev/__properties__
--------------------------------------------------------------
bionic内存映射
static int map_prop_area()
int fd = open(property_filename, O_CLOEXEC | O_NOFOLLOW | O_RDONLY);
const int map_result = map_fd_ro(fd);
/dev/__properties__
-----------------------------------------------------------------
socket server通讯连接
void start_property_service() {
    property_set_fd = create_socket(PROP_SERVICE_NAME, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK,
                                    0666, 0, 0, NULL);

}
snprintf(addr.sun_path, sizeof(addr.sun_path), ANDROID_SOCKET_DIR"/%s", name);

/dev/socket/property_service

-------------------------------------------------------------
socket client通讯连接
static int send_prop_msg(const prop_msg *msg)
strlcpy(addr.sun_path, property_service_socket, sizeof(addr.sun_path));

static const char property_service_socket[] = "/dev/socket/" PROP_SERVICE_NAME;
/dev/socket/property_service

posted @ 2015-12-13 13:22  牧 天  阅读(376)  评论(0)    收藏  举报