arch/um/os-Linux/start_up.c: various improvements.
authorWANG Cong <xiyou.wangcong@gmail.com>
Mon, 28 Apr 2008 09:13:53 +0000 (02:13 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 28 Apr 2008 15:58:28 +0000 (08:58 -0700)
 - lets ptrace_child become void
 - adds checking for the return value of change_sig
 - moves errors info into stderr instead of stdout.

Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: WANG Cong <wangcong@zeuux.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/um/os-Linux/start_up.c

index b616e15..997d019 100644 (file)
 #include "registers.h"
 #include "skas_ptrace.h"
 
-static int ptrace_child(void)
+static void ptrace_child(void)
 {
        int ret;
        /* Calling os_getpid because some libcs cached getpid incorrectly */
        int pid = os_getpid(), ppid = getppid();
        int sc_result;
 
-       change_sig(SIGWINCH, 0);
-       if (ptrace(PTRACE_TRACEME, 0, 0, 0) < 0) {
+       if (change_sig(SIGWINCH, 0) < 0 ||
+           ptrace(PTRACE_TRACEME, 0, 0, 0) < 0) {
                perror("ptrace");
                kill(pid, SIGKILL);
        }
@@ -75,9 +75,8 @@ static void fatal(char *fmt, ...)
        va_list list;
 
        va_start(list, fmt);
-       vprintf(fmt, list);
+       vfprintf(stderr, fmt, list);
        va_end(list);
-       fflush(stdout);
 
        exit(1);
 }
@@ -87,9 +86,8 @@ static void non_fatal(char *fmt, ...)
        va_list list;
 
        va_start(list, fmt);
-       vprintf(fmt, list);
+       vfprintf(stderr, fmt, list);
        va_end(list);
-       fflush(stdout);
 }
 
 static int start_ptraced_child(void)
@@ -495,7 +493,7 @@ int __init parse_iomem(char *str, int *add)
        driver = str;
        file = strchr(str,',');
        if (file == NULL) {
-               printf("parse_iomem : failed to parse iomem\n");
+               fprintf(stderr, "parse_iomem : failed to parse iomem\n");
                goto out;
        }
        *file = '\0';