diff options
Diffstat (limited to 'kernel/pid.c')
-rw-r--r-- | kernel/pid.c | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/kernel/pid.c b/kernel/pid.c index 1acc07246991..7781d9999058 100644 --- a/kernel/pid.c +++ b/kernel/pid.c | |||
@@ -218,36 +218,6 @@ task_t *find_task_by_pid_type(int type, int nr) | |||
218 | EXPORT_SYMBOL(find_task_by_pid_type); | 218 | EXPORT_SYMBOL(find_task_by_pid_type); |
219 | 219 | ||
220 | /* | 220 | /* |
221 | * This function switches the PIDs if a non-leader thread calls | ||
222 | * sys_execve() - this must be done without releasing the PID. | ||
223 | * (which a detach_pid() would eventually do.) | ||
224 | */ | ||
225 | void switch_exec_pids(task_t *leader, task_t *thread) | ||
226 | { | ||
227 | __detach_pid(leader, PIDTYPE_PID); | ||
228 | __detach_pid(leader, PIDTYPE_TGID); | ||
229 | __detach_pid(leader, PIDTYPE_PGID); | ||
230 | __detach_pid(leader, PIDTYPE_SID); | ||
231 | |||
232 | __detach_pid(thread, PIDTYPE_PID); | ||
233 | __detach_pid(thread, PIDTYPE_TGID); | ||
234 | |||
235 | leader->pid = leader->tgid = thread->pid; | ||
236 | thread->pid = thread->tgid; | ||
237 | |||
238 | attach_pid(thread, PIDTYPE_PID, thread->pid); | ||
239 | attach_pid(thread, PIDTYPE_TGID, thread->tgid); | ||
240 | attach_pid(thread, PIDTYPE_PGID, thread->signal->pgrp); | ||
241 | attach_pid(thread, PIDTYPE_SID, thread->signal->session); | ||
242 | list_add_tail(&thread->tasks, &init_task.tasks); | ||
243 | |||
244 | attach_pid(leader, PIDTYPE_PID, leader->pid); | ||
245 | attach_pid(leader, PIDTYPE_TGID, leader->tgid); | ||
246 | attach_pid(leader, PIDTYPE_PGID, leader->signal->pgrp); | ||
247 | attach_pid(leader, PIDTYPE_SID, leader->signal->session); | ||
248 | } | ||
249 | |||
250 | /* | ||
251 | * The pid hash table is scaled according to the amount of memory in the | 221 | * The pid hash table is scaled according to the amount of memory in the |
252 | * machine. From a minimum of 16 slots up to 4096 slots at one gigabyte or | 222 | * machine. From a minimum of 16 slots up to 4096 slots at one gigabyte or |
253 | * more. | 223 | * more. |