Binder之Service Manager在探(二)

 

         1. Service Manager是如何成为一个守护进程的?即Service Manager是如何告知Binder驱动程序它是Binder机制的上下文管理者。

Binder之Service Manager在探(二)_第1张图片

 

root@android-virtual-machine:/home/android# cd /
root@android-virtual-machine:/# find ./ -name 'binder.c'
./work/android-5.0.2/frameworks/native/cmds/servicemanager/binder.c
./work/linux-3.0.86/drivers/staging/android/binder.c
root@android-virtual-machine:/# 

Binder之Service Manager在探(二)_第2张图片

 Binder之Service Manager在探(二)_第3张图片

 

 

http://androidxref.com/kernel_3.0/xref/drivers/staging/android/binder.c

链表操作

Binder之Service Manager在探(二)_第4张图片

static inline void list_add(struct list_head *new, struct list_head *head)
{
    __list_add(new, head, head->next);
}

static inline void __list_add(struct list_head *new,
                  struct list_head *prev,
                  struct list_head *next)
{
    next->prev = new;
    new->next = next;
    new->prev = prev;
    prev->next = new;
}


next.prev = new 
new.next = prev

new.prev = prev
prev.next = new


 

你可能感兴趣的:(Binder)