From: ppisa Date: Sun, 2 Nov 2008 12:35:20 +0000 (+0000) Subject: Use send_sig() instead of kill_proc() in emulated kthread support. X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/commitdiff_plain/7c1986e7d366ac059716effeac68e5e081a081c9 Use send_sig() instead of kill_proc() in emulated kthread support. This allows to compile driver on latest 2.6.27+ kernels, but is incorrect anyway. The local code for kernel thread support is not more needed for recent 2.6 kernels and code should be modified to emulate same interface for older ones. --- diff --git a/lincan/src/kthread.c b/lincan/src/kthread.c index ae43c30..a1563ce 100644 --- a/lincan/src/kthread.c +++ b/lincan/src/kthread.c @@ -118,7 +118,13 @@ void stop_kthread(kthread_t *kthread) the flags are visible on all CPUs. */ mb(); +#warning The local code for kernel thread support is not more needed for recent 2.6 kernels +#warning and code should be modified to emulate same interface for older kernels +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)) kill_proc(kthread->thread->pid, SIGKILL, 1); +#else /* >= 2,6,20 */ + send_sig(SIGKILL, kthread->thread, 1); +#endif /* >= 2,6,20 */ /* block till thread terminated */ down(&kthread->startstop_sem); @@ -129,7 +135,9 @@ void stop_kthread(kthread_t *kthread) /* now we are sure the thread is in zombie state. We notify keventd to clean the process up. */ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)) kill_proc(2, SIGCHLD, 1); +#endif /* >= 2,6,20 */ }