aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/exit.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-01-21 10:37:27 -0500
committerIngo Molnar <mingo@elte.hu>2009-01-21 10:37:27 -0500
commit77835492ed489c0b870f82f4c50687bd267acc0a (patch)
treed80903ce1b8dd30aa44ccfc756616ad4d6c74d63 /kernel/exit.c
parentaf37501c792107c2bde1524bdae38d9a247b841a (diff)
parent1de9e8e70f5acc441550ca75433563d91b269bbe (diff)
Merge commit 'v2.6.29-rc2' into perfcounters/core
Conflicts: include/linux/syscalls.h
Diffstat (limited to 'kernel/exit.c')
-rw-r--r--kernel/exit.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/kernel/exit.c b/kernel/exit.c
index cbdb39a498eb..29f4b790751c 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -1140,7 +1140,7 @@ NORET_TYPE void complete_and_exit(struct completion *comp, long code)
1140 1140
1141EXPORT_SYMBOL(complete_and_exit); 1141EXPORT_SYMBOL(complete_and_exit);
1142 1142
1143asmlinkage long sys_exit(int error_code) 1143SYSCALL_DEFINE1(exit, int, error_code)
1144{ 1144{
1145 do_exit((error_code&0xff)<<8); 1145 do_exit((error_code&0xff)<<8);
1146} 1146}
@@ -1181,9 +1181,11 @@ do_group_exit(int exit_code)
1181 * wait4()-ing process will get the correct exit code - even if this 1181 * wait4()-ing process will get the correct exit code - even if this
1182 * thread is not the thread group leader. 1182 * thread is not the thread group leader.
1183 */ 1183 */
1184asmlinkage void sys_exit_group(int error_code) 1184SYSCALL_DEFINE1(exit_group, int, error_code)
1185{ 1185{
1186 do_group_exit((error_code & 0xff) << 8); 1186 do_group_exit((error_code & 0xff) << 8);
1187 /* NOTREACHED */
1188 return 0;
1187} 1189}
1188 1190
1189static struct pid *task_pid_type(struct task_struct *task, enum pid_type type) 1191static struct pid *task_pid_type(struct task_struct *task, enum pid_type type)
@@ -1757,9 +1759,8 @@ end:
1757 return retval; 1759 return retval;
1758} 1760}
1759 1761
1760asmlinkage long sys_waitid(int which, pid_t upid, 1762SYSCALL_DEFINE5(waitid, int, which, pid_t, upid, struct siginfo __user *,
1761 struct siginfo __user *infop, int options, 1763 infop, int, options, struct rusage __user *, ru)
1762 struct rusage __user *ru)
1763{ 1764{
1764 struct pid *pid = NULL; 1765 struct pid *pid = NULL;
1765 enum pid_type type; 1766 enum pid_type type;
@@ -1798,8 +1799,8 @@ asmlinkage long sys_waitid(int which, pid_t upid,
1798 return ret; 1799 return ret;
1799} 1800}
1800 1801
1801asmlinkage long sys_wait4(pid_t upid, int __user *stat_addr, 1802SYSCALL_DEFINE4(wait4, pid_t, upid, int __user *, stat_addr,
1802 int options, struct rusage __user *ru) 1803 int, options, struct rusage __user *, ru)
1803{ 1804{
1804 struct pid *pid = NULL; 1805 struct pid *pid = NULL;
1805 enum pid_type type; 1806 enum pid_type type;
@@ -1836,7 +1837,7 @@ asmlinkage long sys_wait4(pid_t upid, int __user *stat_addr,
1836 * sys_waitpid() remains for compatibility. waitpid() should be 1837 * sys_waitpid() remains for compatibility. waitpid() should be
1837 * implemented by calling sys_wait4() from libc.a. 1838 * implemented by calling sys_wait4() from libc.a.
1838 */ 1839 */
1839asmlinkage long sys_waitpid(pid_t pid, int __user *stat_addr, int options) 1840SYSCALL_DEFINE3(waitpid, pid_t, pid, int __user *, stat_addr, int, options)
1840{ 1841{
1841 return sys_wait4(pid, stat_addr, options, NULL); 1842 return sys_wait4(pid, stat_addr, options, NULL);
1842} 1843}