/frameworks/native/cmds/servicemanager/service_manager.c
int main(int argc, char const *argv[])
{
/**
struct binder_state
{
int fd; //open()系统调用返回的文件描述符
void *mapped; //mmap系统调用返回的映射区的起始地址
unsigned mapsize;//映射区的大小
};
*/
struct binder_state * bs;
void * svcmgr = BINDER_SERVICE_MANAGER;
bs = binder_open(128 * 1024);
if (binder_become_context_manager(bs))
{
ALOGE("cannot become context manager (%s)\n", strerror(errno));
return -1;
}
svcmgr_handle = svcmgr;
binder_loop(bs, svcmgr_handler);
return 0;
}
Android--Binder驱动浅析
最新推荐文章于 2024-09-06 21:13:03 发布