2010-05-24 9 views
0

Essayer ce forum gratuit pour les développeurs. Je migre un pilote série vers le noyau 2.6.31.5. Je l'ai utilisé plusieurs livres et articles pour résoudre des problèmes allant de 2,4Comment faire un "kill_proc()" dans Linux Kernel 2.6.31.5

Maintenant, j'ai deux ou trois kill_proc qui est plus supporté dans le noyau 2.6.31.5

Quel serait le meilleur moyen de migrer ce dans le noyau 2.6.31.5 façon de tuer un thread. Dans les livres ils disent utiliser kill() mais cela ne semble pas être le cas dans 2.6.31.5. Utiliser send_signal serait un bon moyen, mais comment faire? Il doit y avoir un task_struct ou quelque chose, que je pourrais juste fournir mon PID et SIGTERM et aller ahaed et tuer mon fil, mais cela semble plus compliqué, devoir mettre en place une structure avec des paramètres que je ne connais pas.

Si quelqu'un a un exemple réel, ou un lien vers un endroit avec des informations à jour sur le noyau 2.6.31, je serais très reconnaissant. Siply mis, j'ai besoin de tuer mon fil, et ce n'est pas supposé être dur. ;)

C'est mon code maintenant:

kill_proc (ex_pid, SIGTERM, 1);

/Jörgen

Répondre

0

Pour une utilisation avec kthreads, il est maintenant kthread_stop que l'appelant (par exemple de la fonction de sortie de module) peut invoquer. Le kthread lui-même doit vérifier en utilisant kthread_should_stop. Des exemples de cela sont facilement disponibles dans l'arborescence des sources du noyau.