Android培训班(19)
- Android培训班(19) 推荐度:
- 相关推荐
Android培训班(19)
在init初始化进程里,设备初始化是怎么进行的呢?如果要了解这方面,就需要仔细分析下面的代码,如下:
#001 int device_init(void)
#002 {
#003 suseconds_t t0, t1;
#004 int fd;
#005
#006 fd = open_uevent_socket();
#007 if(fd < 0)
#008 return -1;
这段代码是调用函数open_uevent_socket来创建一个用户事件空间的socket。
#009
#010 fcntl(fd, F_SETFD, FD_CLOEXEC);
#011 fcntl(fd, F_SETFL, O_NONBLOCK);
这段代码是设置socket的属性,FD_CLOEXEC用来设置文件的close-on-exec状态标准。在exec()调用后,close-on-exec标志为0的情况,此文件不被关闭。非零则在exec()后被关闭。默认close-on-exec状态为0,需要通过FD_CLOEXEC设置。O_NONBLOCK设置这个socket是异步的通讯方式。
#012
#013 t0 = get_usecs();
这行代码是用来获取当前用户的时间。
#014 coldboot(fd, "/sys/class");
#015 coldboot(fd, "/sys/block");
#016 coldboot(fd, "/sys/devices");
这段代码是用来遍历所有在init进程前已经创建的设备,并找到设备的事件文件发送事件通知。
#017 t1 = get_usecs();
这行代码是用来获取当前用户的时间。
#018
#019 log_event_print("coldboot %ld uS/n", ((long) (t1 - t0)));
这行代码是用来打印输出冷启动的时间是多少秒。
#020
#021 return fd;
#022 }
#023
- 自定义微信小程序tabBar组件上边框的颜色
- 俞敏洪一分钟励志演讲:
- java.lang.NullPointterException:
- SNMP的工作原理
- Android 真正的3D Gallery
- mmap 详解
- VSS2005使用技巧
- 针对ONION勒索病毒!如何关闭139端口及445端口等危险端口
- 函数popen()
- 基于BS的校园餐厅网上订餐系统
- 网络流量监控介绍
- 数学和算法之
- 怎么把电脑上的准考证发送到手机上呢
- HashTable详解、源码、扩容、深入理解HashTable、HashTable多线程并发问题
- HashTable 使用
- 2018.3版本 CLion的激活码
- Python try...except...时捕获异常时具体文件和行数