From 7c1986e7d366ac059716effeac68e5e081a081c9 Mon Sep 17 00:00:00 2001 From: ppisa Date: Sun, 2 Nov 2008 12:35:20 +0000 Subject: [PATCH] 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. --- lincan/src/kthread.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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 */ } -- 2.39.2