2010-08-02 4 views
0

J'apprends les files d'attente de travail pour coder les moitiés inférieures dans le noyau Linux. Je me demande: si le gestionnaire d'interruption est exécuté deux fois (appelant ainsi schedule_work deux fois), le gestionnaire de file d'attente de travail est-il appelé une ou deux fois?Files d'attente de files d'attente et de travail multiples

Répondre

1

On dirait que votre réponse est dans le commentaire de la fonction.

/** 
* 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); 
}