编写设备驱动程序

等待条件

要使用条件变量,请在等待条件的代码路径中执行以下步骤:

  1. 获取用于保护条件的互斥锁。

  2. 测试条件。

  3. 如果测试结果表明不允许线程继续执行,请使用 cv_wait(9F) 根据条件阻塞当前线程。cv_wait(9F) 函数将在阻塞线程之前释放互斥锁,并在返回之前重新获取互斥锁。从 cv_wait(9F) 返回时,重复该测试。

  4. 测试表明允许线程继续执行后,请将条件设置为其新值。例如,将设备标志设置为繁忙。

  5. 释放互斥锁。