是什么 是一个数据结构是一种锁机制顾名思义它是一把唤醒锁只要有用户持有这把锁系统将无法进入睡眠状态这个锁可以是有超时的或者是没有超时的超时的锁会在时间过去以后自动解锁如果没有锁了或者超时了内核就会启动标准的那套休眠机制机制来进入休眠 数据结构在中被定义:
- struct wake_lock {
- #ifdef CONFIG_HAS_WAKELOCK
- struct list_head link; /*指向全局链表(list_lock)*/
- int flags;
- const char *name;
- unsigned long expires;
- #ifdef CONFIG_WAKELOCK_STAT
- struct {
- int count;
- int expire_count;
- int wakeup_count;
- ktime_t total_time;
- ktime_t prevent_suspend_time;
- ktime_t max_time;
- ktime_t last_time;
- } stat;
- #endif
- #endif
- };
的分类
为提供两种类型定义如下
- enum {
- WAKE_LOCK_SUSPEND, /* Prevent suspend */
- WAKE_LOCK_IDLE, /* Prevent low power idle */
- WAKE_LOCK_TYPE_COUNT
- };
转载于:https://blog.51cto.com/jefferyjoyce/965649