Android磁盘管理-之vold源码分析(3)

作者:gzshun. 原创作品,转载请标明出处!


NetlinkManager类负责管理捕获内核的uevent事件,这里使用了Netlink套接字。

Netlink的概念:
Netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口。Netlink套接字可以使用标准的套接字APIs来创建。socket(), bind(), sendmsg(), recvmsg() 和 close()很容易地应用到 netlink socket。netlink包含于头文件linux/netlink.h中。
平时的应用层一般都不会用到Netlink这个套接字,了解就行。

在Main.cpp文件中的main函数里面,有一个准备工作是用来开启监听内核uevent事件的线程,源码如下:


nm是NetlinkManager类实例化的一个对象,以下是start()函数的源码:


下一篇文章继续分析vold整个源码的走向。。

你可能感兴趣的:(android)