]> git.hungrycats.org Git - linux/commitdiff
[PATCH] Consolidate sys_pause
authorStephen Rothwell <sfr@canb.auug.org.au>
Thu, 20 Jun 2002 06:53:13 +0000 (23:53 -0700)
committerLinus Torvalds <torvalds@penguin.transmeta.com>
Thu, 20 Jun 2002 06:53:13 +0000 (23:53 -0700)
14 of our 17 architectures define sys_pause exactly the same
way.  The other three don't define it at all.  I assume glibc
translates pause() into sigsuspend() or something.

18 files changed:
arch/arm/kernel/sys_arm.c
arch/cris/kernel/sys_cris.c
arch/i386/kernel/sys_i386.c
arch/m68k/kernel/sys_m68k.c
arch/mips/kernel/sysmips.c
arch/mips64/kernel/syscall.c
arch/parisc/kernel/sys_parisc.c
arch/ppc/kernel/syscalls.c
arch/ppc64/kernel/syscalls.c
arch/s390/kernel/sys_s390.c
arch/s390x/kernel/sys_s390.c
arch/sh/kernel/sys_sh.c
arch/sparc/kernel/sys_sparc.c
arch/x86_64/kernel/sys_x86_64.c
include/asm-alpha/signal.h
include/asm-ia64/signal.h
include/asm-sparc64/signal.h
kernel/signal.c

index e41a1107f87f4a31b6b2c27c3f4a2abe123cba7c..34713adaf4dca43a5abace0940119c278fabba43 100644 (file)
@@ -279,10 +279,3 @@ asmlinkage int sys_execve(char *filenamei, char **argv, char **envp, struct pt_r
 out:
        return error;
 }
-
-asmlinkage int sys_pause(void)
-{
-       current->state = TASK_INTERRUPTIBLE;
-       schedule();
-       return -ERESTARTNOHAND;
-}
index 6db339ce21e760d41eb428beecdec6f18957a4e3..31917ab11982c4cfa0636e04c3a9e3c34e4e3304 100644 (file)
@@ -167,12 +167,3 @@ asmlinkage int sys_ipc (uint call, int first, int second,
                return -EINVAL;
        }
 }
-
-/* apparently this is legacy - if we don't need this in Linux/CRIS we can remove it. */
-
-asmlinkage int sys_pause(void)
-{
-        current->state = TASK_INTERRUPTIBLE;
-        schedule();
-        return -ERESTARTNOHAND;
-}
index 5fd6910b9c4c9d97d0258db1e541bfd048f71dcc..15d62d038cef5becda1c1ad17292077eba4ce857 100644 (file)
@@ -246,11 +246,3 @@ asmlinkage int sys_olduname(struct oldold_utsname * name)
 
        return error;
 }
-
-asmlinkage int sys_pause(void)
-{
-       current->state = TASK_INTERRUPTIBLE;
-       schedule();
-       return -ERESTARTNOHAND;
-}
-
index 34a0eb9ddb4c06e3774aa60aabd1cae1d07ef833..e5e1bffbd9179e95ef271a720d7445a7e242b71d 100644 (file)
@@ -676,13 +676,3 @@ asmlinkage int sys_getpagesize(void)
 {
        return PAGE_SIZE;
 }
-
-/*
- * Old cruft
- */
-asmlinkage int sys_pause(void)
-{
-       current->state = TASK_INTERRUPTIBLE;
-       schedule();
-       return -ERESTARTNOHAND;
-}
index ab028258a82ac82dd3938f4e86090f90d67bf712..f8664242b8d7d4575705ddd5514799f8282e7eea 100644 (file)
@@ -156,10 +156,3 @@ sys_cachectl(char *addr, int nbytes, int op)
 {
        return -ENOSYS;
 }
-
-asmlinkage int sys_pause(void)
-{
-       current->state = TASK_INTERRUPTIBLE;
-       schedule();
-       return -ERESTARTNOHAND;
-}
index 053051c63a25e02092d7b46468ec4879c293fb6a..a2111855c936201d70f6b60b6d339711a2dba1ea 100644 (file)
@@ -275,10 +275,3 @@ asmlinkage void bad_stack(void)
 {
        do_exit(SIGSEGV);
 }
-
-asmlinkage int sys_pause(void)
-{
-       current->state = TASK_INTERRUPTIBLE;
-       schedule();
-       return -ERESTARTNOHAND;
-}
index 1e365cc7652aa4e58a5d5bc0765127de218f8de9..b8addfe4d8eb8c0f304f8e520794239f1c151198 100644 (file)
@@ -37,13 +37,6 @@ int sys_pipe(int *fildes)
        return error;
 }
 
-int sys_pause(void)
-{
-       current->state = TASK_INTERRUPTIBLE;
-       schedule();
-       return -ERESTARTNOHAND;
-}
-
 int sys_mmap(unsigned long addr, unsigned long len,
                unsigned long prot, unsigned long flags, unsigned long fd,
                unsigned long offset)
index 6f641e2bbb34c7ec9c946515aef697ee61ed8f50..87540676a5e4d1f0c2686363d797ec8d7852f768 100644 (file)
@@ -257,13 +257,6 @@ ppc_select(int n, fd_set *inp, fd_set *outp, fd_set *exp, struct timeval *tvp)
        return sys_select(n, inp, outp, exp, tvp);
 }
 
-int sys_pause(void)
-{
-       current->state = TASK_INTERRUPTIBLE;
-       schedule();
-       return -ERESTARTNOHAND;
-}
-
 int sys_uname(struct old_utsname * name)
 {
        int err = -EFAULT;
index 5d7673b5904ec52e354a7706458115b70eaa602d..0ecd0c42b0ba5fe34ed0fa5393af54c37b08e47d 100644 (file)
@@ -227,17 +227,6 @@ out:
        return ret;
 }
 
-asmlinkage int sys_pause(void)
-{
-       
-       PPCDBG(PPCDBG_SYS64X, "sys_pause - entered - pid=%ld current=%lx comm=%s \n", current->pid, current, current->comm);
-       current->state = TASK_INTERRUPTIBLE;
-       schedule();
-       
-       PPCDBG(PPCDBG_SYS64X, "sys_pause - exited - pid=%ld current=%lx comm=%s \n", current->pid, current, current->comm);
-       return -ERESTARTNOHAND;
-}
-
 static int __init set_fakeppc(char *str)
 {
        if (*str)
index 594fa34a5da0c159128d0ada2ced0d6d692a4f99..581f6a17a6553f08779667ee0508bcf4528f9e34 100644 (file)
@@ -241,13 +241,6 @@ asmlinkage int sys_olduname(struct oldold_utsname * name)
        return error;
 }
 
-asmlinkage int sys_pause(void)
-{
-       set_current_state(TASK_INTERRUPTIBLE);
-       schedule();
-       return -ERESTARTNOHAND;
-}
-
 asmlinkage int sys_ioperm(unsigned long from, unsigned long num, int on)
 {
   return -ENOSYS;
index 239d0276f5f75fbc1995015bc2d6bb0190c66711..efa2c33d4608f03a9140bcbc2d6ec34063b3a301 100644 (file)
@@ -197,13 +197,6 @@ asmlinkage int sys_uname(struct old_utsname * name)
        return err?-EFAULT:0;
 }
 
-asmlinkage int sys_pause(void)
-{
-       set_current_state(TASK_INTERRUPTIBLE);
-       schedule();
-       return -ERESTARTNOHAND;
-}
-
 extern asmlinkage int sys_newuname(struct new_utsname * name);
 
 asmlinkage int s390x_newuname(struct new_utsname * name)
index e3dcdc2e5eb2625d0505928a8f02fdc7112619bc..207ad0b43fef9e9d2ec85946324cc8429a48627d 100644 (file)
@@ -231,10 +231,3 @@ asmlinkage int sys_uname(struct old_utsname * name)
        up_read(&uts_sem);
        return err?-EFAULT:0;
 }
-
-asmlinkage int sys_pause(void)
-{
-       current->state = TASK_INTERRUPTIBLE;
-       schedule();
-       return -ERESTARTNOHAND;
-}
index 97a68fa064c7197cbeef6dcf83cc8e1944d9300b..2dae9f4ff934fbe2d49c2e0e533b8271590e8cd0 100644 (file)
@@ -442,14 +442,6 @@ sys_rt_sigaction(int sig, const struct sigaction *act, struct sigaction *oact,
        return ret;
 }
 
-/* Just in case some old old binary calls this. */
-asmlinkage int sys_pause(void)
-{
-       current->state = TASK_INTERRUPTIBLE;
-       schedule();
-       return -ERESTARTNOHAND;
-}
-
 asmlinkage int sys_getdomainname(char *name, int len)
 {
        int nlen;
index 5c28ba642cf9dd7372b371ab16c441151a49f8d4..a98b086919f1aa14d72340ffa4242ed129995ccb 100644 (file)
@@ -105,13 +105,6 @@ asmlinkage long sys_uname(struct new_utsname * name)
        return err ? -EFAULT : 0;
 }
 
-asmlinkage long sys_pause(void)
-{
-       current->state = TASK_INTERRUPTIBLE;
-       schedule();
-       return -ERESTARTNOHAND;
-}
-
 asmlinkage long wrap_sys_shmat(int shmid, char *shmaddr, int shmflg)
 {
        unsigned long raddr;
index 65101218d1df475f5091fec81a85249140b572af..8730c4b833fe59b300f6bce1c321340f19e93e26 100644 (file)
@@ -187,6 +187,7 @@ struct sigstack {
 #include <asm/sigcontext.h>
 
 #define HAVE_ARCH_GET_SIGNAL_TO_DELIVER
+#define HAVE_ARCH_SYS_PAUSE
 
 #endif
 
index f52c035391bd8673a01356982407f358c576ddb5..42f30a918ae298574163ca4d52cd6c820b33d740 100644 (file)
@@ -167,6 +167,7 @@ struct k_sigaction {
 #  include <asm/sigcontext.h>
 
 #define HAVE_ARCH_GET_SIGNAL_TO_DELIVER
+#define HAVE_ARCH_SYS_PAUSE
 
 #endif /* __KERNEL__ */
 
index cc7a6dbc5d8b7a177d2f11931fd3eb4a1eb3769e..b15544c92511f9cf9ba424d898dda3c1cfde2184 100644 (file)
@@ -254,6 +254,7 @@ typedef struct sigaltstack32 {
 } stack_t32;
 
 #define HAVE_ARCH_GET_SIGNAL_TO_DELIVER
+#define HAVE_ARCH_SYS_PAUSE
 
 #endif
 
index 7fccdfbc965f6759a29da83f98d634862c4c80a3..1d4e5bd3715cc3ecd814137d0bdfdc87e7c29485 100644 (file)
@@ -1488,3 +1488,15 @@ sys_signal(int sig, __sighandler_t handler)
        return ret ? ret : (unsigned long)old_sa.sa.sa_handler;
 }
 #endif /* !alpha && !__ia64__ && !defined(__mips__) && !defined(__arm__) */
+
+#ifndef HAVE_ARCH_SYS_PAUSE
+
+asmlinkage int
+sys_pause(void)
+{
+       current->state = TASK_INTERRUPTIBLE;
+       schedule();
+       return -ERESTARTNOHAND;
+}
+
+#endif /* HAVE_ARCH_SYS_PAUSE */