0

通过查看vold的代码,

我发现 main.cpp (system/vold/main.cpp) 中有几行代码我没有得到这些代码的真正功能。

那些是..

1.

vm->setBroadcaster((SocketListener *) cl);

nm->setBroadcaster((SocketListener *) cl);

2.

coldboot("/sys/block");

为什么vold在这里冷启动?


谁能解释一下为什么vold会这样做?

谢谢

4

2 回答 2

1

通过向 /sys/block 树中的 uevent 文件发送“add”来为冷插拔设备完成冷启动。

uevent 从内核发送到用户空间 (udev)中所述

于 2015-12-14T16:17:15.300 回答
0

我想我已经找到了第一个问题的答案。

vm->setBroadcaster((SocketListener *) cl);

nm->setBroadcaster((SocketListener *) cl);

在这种情况下,VolumeManager 和 NetlinkManager 需要向框架层的 MountService 发送通知。因此,CommandListener 充当 vm 和 nm 的广播器。:)

于 2014-05-14T02:31:10.147 回答