X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Flinux%2Fkthread.h;h=ebdd41fd1082dfd77c7096e84ac9ec491ed82f8c;hb=7d14f145f839b5d0d221ea209b4998f93267e2ec;hp=3fa786448db34edbeaf62e2f5595987ed82ca29f;hpb=1da177e4c3f41524e886b7f1b8a0c1fc7321cac2;p=linux-2.6 diff --git a/include/linux/kthread.h b/include/linux/kthread.h index 3fa786448d..ebdd41fd10 100644 --- a/include/linux/kthread.h +++ b/include/linux/kthread.h @@ -69,6 +69,18 @@ void kthread_bind(struct task_struct *k, unsigned int cpu); * was never called. */ int kthread_stop(struct task_struct *k); +/** + * kthread_stop_sem: stop a thread created by kthread_create(). + * @k: thread created by kthread_create(). + * @s: semaphore that @k waits on while idle. + * + * Does essentially the same thing as kthread_stop() above, but wakes + * @k by calling up(@s). + * + * Returns the result of threadfn(), or -EINTR if wake_up_process() + * was never called. */ +int kthread_stop_sem(struct task_struct *k, struct semaphore *s); + /** * kthread_should_stop: should this kthread return now? *