编写设备驱动程序
内核线程控制和同步函数
内核线程控制和同步函数包括:
-
cv_broadcast()
-
唤醒所有等待线程
-
cv_destroy()
-
释放已分配的条件变量
-
cv_init()
-
分配条件变量
-
cv_signal()
-
唤醒一个等待线程
-
cv_timedwait()
-
等待事件,具有超时设置
-
cv_timedwait_sig()
-
等待事件或信号,具有超时设置
-
cv_wait()
-
等待事件
-
cv_wait_sig()
-
等待事件或信号
-
ddi_can_receive_sig()
-
确定当前线程是否可以接收信号
-
ddi_enter_critical()
-
进入关键控制区
-
ddi_exit_critical()
-
退出关键控制区
-
mutex_destroy()
-
销毁互斥锁
-
mutex_enter()
-
获取互斥锁
-
mutex_exit()
-
释放互斥锁
-
mutex_init()
-
初始化互斥锁
-
mutex_owned()
-
确定当前线程是否持有互斥锁
-
mutex_tryenter()
-
尝试获取互斥锁,但不等待
-
rw_destroy()
-
销毁读取器/写入器锁
-
rw_downgrade()
-
将持有的读取器/写入器锁从写入器降级为读取器
-
rw_enter()
-
获取读取器/写入器锁
-
rw_exit()
-
释放读取器/写入器锁
-
rw_init()
-
初始化读取器/写入器锁
-
rw_read_locked()
-
确定持有的读取器/写入器锁是用于读取还是用于写入
-
rw_tryenter()
-
尝试获取读取器/写入器锁,但不等待
-
rw_tryupgrade()
-
尝试将持有的读取器/写入器锁从读取器升级为写入器
-
sema_destroy()
-
销毁信号
-
sema_init()
-
初始化信号
-
sema_p()
-
递减信号并可能阻塞
-
sema_p_sig()
-
递减信号,但信号待处理时不阻塞
-
sema_tryp()
-
尝试递减信号,但不阻塞
-
sema_v()
-
递增信号并可能解除阻塞等待程序
- © 2010, Oracle Corporation and/or its affiliates