git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
kernel
/
kthread.c
diff --git
a/kernel/kthread.c
b/kernel/kthread.c
index
c18d7c7
..
c848b20
100644
(file)
--- a/
kernel/kthread.c
+++ b/
kernel/kthread.c
@@
-12,7
+12,6
@@
#include <linux/unistd.h>
#include <linux/file.h>
#include <linux/module.h>
#include <linux/unistd.h>
#include <linux/file.h>
#include <linux/module.h>
-#include <linux/mutex.h>
#include <asm/semaphore.h>
/*
#include <asm/semaphore.h>
/*
@@
-42,7
+41,7
@@
struct kthread_stop_info
/* Thread stopping is done by setthing this var: lock serializes
* multiple kthread_stop calls. */
/* Thread stopping is done by setthing this var: lock serializes
* multiple kthread_stop calls. */
-static DE
FIN
E_MUTEX(kthread_stop_lock);
+static DE
CLAR
E_MUTEX(kthread_stop_lock);
static struct kthread_stop_info kthread_stop_info;
int kthread_should_stop(void)
static struct kthread_stop_info kthread_stop_info;
int kthread_should_stop(void)
@@
-115,9
+114,7
@@
static void keventd_create_kthread(void *_create)
create->result = ERR_PTR(pid);
} else {
wait_for_completion(&create->started);
create->result = ERR_PTR(pid);
} else {
wait_for_completion(&create->started);
- read_lock(&tasklist_lock);
create->result = find_task_by_real_pid(pid);
create->result = find_task_by_real_pid(pid);
- read_unlock(&tasklist_lock);
}
complete(&create->done);
}
}
complete(&create->done);
}
@@
-176,7
+173,7
@@
int kthread_stop_sem(struct task_struct *k, struct semaphore *s)
{
int ret;
{
int ret;
-
mutex_lock
(&kthread_stop_lock);
+
down
(&kthread_stop_lock);
/* It could exit after stop_info.k set, but before wake_up_process. */
get_task_struct(k);
/* It could exit after stop_info.k set, but before wake_up_process. */
get_task_struct(k);
@@
-197,7
+194,7
@@
int kthread_stop_sem(struct task_struct *k, struct semaphore *s)
wait_for_completion(&kthread_stop_info.done);
kthread_stop_info.k = NULL;
ret = kthread_stop_info.err;
wait_for_completion(&kthread_stop_info.done);
kthread_stop_info.k = NULL;
ret = kthread_stop_info.err;
-
mutex_unlock
(&kthread_stop_lock);
+
up
(&kthread_stop_lock);
return ret;
}
return ret;
}