2010-08-02 3 views
0

Я изучаю рабочие очереди для кода нижних половин в ядре linux. Интересно: если обработчик прерывания выполняется два раза (таким образом, вызывающий schedule_work два раза), обрабатывается ли обработчик очереди работы один или два раза?Несколько очередей и рабочих очередей

ответ

1

Похоже, что ваш ответ находится в комментарии к функции.

/** 
* schedule_work - put work task in global workqueue 
* @work: job to be done 
* 
* Returns zero if @work was already on the kernel-global workqueue and 
* non-zero otherwise. 
* 
* This puts a job in the kernel-global workqueue if it was not already 
* queued and leaves it in the same position on the kernel-global 
* workqueue otherwise. 
*/ 
int schedule_work(struct work_struct *work) 
{ 
     return queue_work(keventd_wq, work); 
} 
Смежные вопросы