diff options
Diffstat (limited to 'arch/um/os-Linux/helper.c')
| -rw-r--r-- | arch/um/os-Linux/helper.c | 12 | 
1 files changed, 5 insertions, 7 deletions
diff --git a/arch/um/os-Linux/helper.c b/arch/um/os-Linux/helper.c index b6b1096152a..e3ee4a51ef6 100644 --- a/arch/um/os-Linux/helper.c +++ b/arch/um/os-Linux/helper.c @@ -10,11 +10,9 @@  #include <linux/limits.h>  #include <sys/socket.h>  #include <sys/wait.h> -#include "kern_constants.h" -#include "kern_util.h" -#include "os.h" -#include "um_malloc.h" -#include "user.h" +#include <kern_util.h> +#include <os.h> +#include <um_malloc.h>  struct helper_data {  	void (*pre_exec)(void*); @@ -28,14 +26,14 @@ static int helper_child(void *arg)  {  	struct helper_data *data = arg;  	char **argv = data->argv; -	int err; +	int err, ret;  	if (data->pre_exec != NULL)  		(*data->pre_exec)(data->pre_data);  	err = execvp_noalloc(data->buf, argv[0], argv);  	/* If the exec succeeds, we don't get here */ -	write(data->fd, &err, sizeof(err)); +	CATCH_EINTR(ret = write(data->fd, &err, sizeof(err)));  	return 0;  }  | 
