博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux Kernel 互斥量初始化
阅读量:4153 次
发布时间:2019-05-25

本文共 1014 字,大约阅读时间需要 3 分钟。

void __mutex_init(struct mutex *lock, const char *name, struct lock_class_key *key){	atomic_set(&lock->count, 1);	spin_lock_init(&lock->wait_lock);	INIT_LIST_HEAD(&lock->wait_list);	mutex_clear_owner(lock);#ifdef CONFIG_MUTEX_SPIN_ON_OWNER	osq_lock_init(&lock->osq);#endif	debug_mutex_init(lock, name, key);}EXPORT_SYMBOL(__mutex_init);
 
 
#define __MUTEX_INITIALIZER(lockname) \		{ .count = ATOMIC_INIT(1) \		, .wait_lock = __SPIN_LOCK_UNLOCKED(lockname.wait_lock) \		, .wait_list = LIST_HEAD_INIT(lockname.wait_list) \		__DEBUG_MUTEX_INITIALIZER(lockname) \		__DEP_MAP_MUTEX_INITIALIZER(lockname) }#define DEFINE_MUTEX(mutexname) \	struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
 
/** * mutex_init - initialize the mutex * @mutex: the mutex to be initialized * * Initialize the mutex to unlocked state. * * It is not allowed to initialize an already locked mutex. */# define mutex_init(mutex) \do {
\ static struct lock_class_key __key; \ \ __mutex_init((mutex), #mutex, &__key); \} while (0)

转载地址:http://wwhti.baihongyu.com/

你可能感兴趣的文章
Python-发邮件
查看>>
python写入csv文件的两种方法
查看>>
pandas学习笔记—dataframe与list相互转化
查看>>
Keras和TensorFlow设置GPU及其使用率
查看>>
python常见异常处理方法
查看>>
pandas学习笔记—merge()函数详解
查看>>
pandas学习笔记—agg()函数详解
查看>>
Canny边缘检测算法原理及其OpenCV实现
查看>>
JupyterLab on JupyterHub(JupyterLab+JupyterHub)(JupyterLab JupyterHub)
查看>>
Ubuntu查找文件或文件夹
查看>>
DIGITS安装及服务部署
查看>>
利用Python脚本开发Hadoop的MapReduce大数据分析应用
查看>>
python连接SQL数据库
查看>>
python创建mysql数据库中的表
查看>>
python操作mysql表格-插入数据
查看>>
python更新mysql表
查看>>
python删除mysql表中数据
查看>>
python查询mysql表
查看>>
Win10安装MongoDB及基本配置
查看>>
MongoDB常用命令
查看>>