OSDN Git Service

Switch to current OpenBSD system.c.
authorElliott Hughes <enh@google.com>
Tue, 25 Feb 2014 23:19:26 +0000 (15:19 -0800)
committerElliott Hughes <enh@google.com>
Tue, 25 Feb 2014 23:19:26 +0000 (15:19 -0800)
Change-Id: Ie2df60f0d55dca69149ffe064f10183411407987

libc/Android.mk
libc/upstream-openbsd/lib/libc/stdlib/system.c [moved from libc/unistd/system.c with 92% similarity]

index 9ab7e8e..e401a1c 100644 (file)
@@ -106,7 +106,6 @@ libc_common_src_files := \
     stdlib/strtod.c \
     unistd/alarm.c \
     unistd/syslog.c \
-    unistd/system.c \
     unistd/time.c \
 
 # Fortify implementations of libc functions.
@@ -388,6 +387,7 @@ libc_upstream_openbsd_src_files := \
     upstream-openbsd/lib/libc/stdlib/strtoumax.c \
     upstream-openbsd/lib/libc/stdlib/strtoll.c \
     upstream-openbsd/lib/libc/stdlib/strtol.c \
+    upstream-openbsd/lib/libc/stdlib/system.c \
     upstream-openbsd/lib/libc/locale/wcsxfrm.c \
 
 libc_arch_static_src_files := \
similarity index 92%
rename from libc/unistd/system.c
rename to libc/upstream-openbsd/lib/libc/stdlib/system.c
index 72cc37e..14ddcae 100644 (file)
  */
 
 #include <sys/types.h>
+#include <sys/wait.h>
 #include <signal.h>
 #include <stdlib.h>
 #include <unistd.h>
 #include <paths.h>
-#include <sys/wait.h>
 
 extern char **environ;
 
 int
 system(const char *command)
 {
-  pid_t pid;
+       pid_t pid;
        sig_t intsave, quitsave;
        sigset_t mask, omask;
        int pstat;
@@ -61,14 +61,14 @@ system(const char *command)
        case 0:                         /* child */
                sigprocmask(SIG_SETMASK, &omask, NULL);
                execve(_PATH_BSHELL, argp, environ);
-    _exit(127);
-  }
+               _exit(127);
+       }
 
-       intsave = (sig_t)  bsd_signal(SIGINT, SIG_IGN);
-       quitsave = (sig_t) bsd_signal(SIGQUIT, SIG_IGN);
+       intsave = signal(SIGINT, SIG_IGN);
+       quitsave = signal(SIGQUIT, SIG_IGN);
        pid = waitpid(pid, (int *)&pstat, 0);
        sigprocmask(SIG_SETMASK, &omask, NULL);
-       (void)bsd_signal(SIGINT, intsave);
-       (void)bsd_signal(SIGQUIT, quitsave);
+       (void)signal(SIGINT, intsave);
+       (void)signal(SIGQUIT, quitsave);
        return (pid == -1 ? -1 : pstat);
 }