]> Pileus Git - ~andy/linux/blobdiff - arch/um/drivers/slirp_user.c
Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
[~andy/linux] / arch / um / drivers / slirp_user.c
index 1865089ff41a41d920eadf082a12e06de893785d..db4adb639ff82e41c0f3025145953fab810ebb91 100644 (file)
@@ -7,11 +7,9 @@
 #include <errno.h>
 #include <string.h>
 #include <sys/wait.h>
-#include "kern_constants.h"
 #include "net_user.h"
 #include "os.h"
 #include "slirp.h"
-#include "user.h"
 
 static int slirp_user_init(void *data, void *dev)
 {
@@ -79,7 +77,7 @@ out:
 static void slirp_close(int fd, void *data)
 {
        struct slirp_data *pri = data;
-       int status,err;
+       int err;
 
        close(fd);
        close(pri->slave);
@@ -98,18 +96,9 @@ static void slirp_close(int fd, void *data)
                       "(%d)\n", pri->pid, errno);
        }
 #endif
-
-       CATCH_EINTR(err = waitpid(pri->pid, &status, WNOHANG));
-       if (err < 0) {
-               printk(UM_KERN_ERR "slirp_close: waitpid returned %d\n", errno);
-               return;
-       }
-
-       if (err == 0) {
-               printk(UM_KERN_ERR "slirp_close: process %d has not exited\n",
-                      pri->pid);
+       err = helper_wait(pri->pid);
+       if (err < 0)
                return;
-       }
 
        pri->pid = -1;
 }