aboutsummaryrefslogtreecommitdiffstats
path: root/slirp-android/misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'slirp-android/misc.c')
-rw-r--r--slirp-android/misc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/slirp-android/misc.c b/slirp-android/misc.c
index fb8ec5f..a6063a9 100644
--- a/slirp-android/misc.c
+++ b/slirp-android/misc.c
@@ -327,11 +327,14 @@ fork_exec(struct socket *so, const char *ex, int do_pty)
/* Ooops, failed, let's tell the user why */
{
char buff[256];
+ int ret;
snprintf(buff, sizeof(buff),
"Error: execvp of %s failed: %s\n",
argv[0], strerror(errno));
- write(2, buff, strlen(buff)+1);
+ do {
+ ret =write(2, buff, strlen(buff)+1);
+ } while (ret < 0 && errno == EINTR);
}
close(0); close(1); close(2); /* XXX */
exit(1);