wait_for_completion_timeout的使用
时间: 2023-05-19 14:01:12 浏览: 573
wait_for_completion_timeout是一个Linux内核中的函数,用于等待一个工作队列中的工作完成。它的使用方法是在工作队列中添加一个工作,然后调用wait_for_completion_timeout函数等待工作完成。如果工作在指定的时间内完成,函数会返回0,否则会返回一个负数。在编程中,可以使用这个函数来实现异步操作。
相关问题
wait_for_completion_interruptible_timeout
`wait_for_completion_interruptible_timeout`是Linux内核中的一个函数,用于等待一个任务的完成。它会让当前线程等待,直到被等待的任务完成或者超时。如果任务完成,它会返回0,否则返回一个负数,表示等待超时或者被中断。在等待过程中,如果当前线程被中断(比如收到了一个信号),那么函数会返回一个负数,表示等待被中断。它通常被用于等待一些异步操作的完成,比如等待一个IO操作完成或者等待一个锁的释放。
wait_for_completion_interruptible_timeout原型
`wait_for_completion_interruptible_timeout` 函数的原型如下:
```c
unsigned long wait_for_completion_interruptible_timeout(struct completion *x, unsigned long timeout);
```
其中,`struct completion` 是一个内核同步原语,用于等待某个事件的完成。`timeout` 参数表示等待超时的时间,单位为 jiffies。函数返回值表示等待的结果,如果返回值大于等于0,则表示等待的时间,如果返回值小于0,则表示等待过程中被信号打断。
阅读全文