aboutsummaryrefslogtreecommitdiffstats
path: root/android/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'android/main.c')
-rw-r--r--android/main.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/android/main.c b/android/main.c
index c366a9e..f0029f4 100644
--- a/android/main.c
+++ b/android/main.c
@@ -2085,6 +2085,11 @@ int main(int argc, char **argv)
}
}
+ /* the purpose of -no-audio is to disable sound output from the emulator,
+ * not to disable Audio emulation. So simply force the 'none' backends */
+ if (opts->no_audio)
+ opts->audio = "none";
+
if (opts->audio) {
if (opts->audio_in || opts->audio_out) {
derror( "you can't use -audio with -audio-in or -audio-out\n" );
@@ -2430,10 +2435,6 @@ int main(int argc, char **argv)
opts->memory = qemu_strdup(tmp);
}
- if (opts->no_audio) {
- args[n++] = "-noaudio";
- }
-
if (opts->trace) {
args[n++] = "-trace";
args[n++] = opts->trace;
@@ -2815,7 +2816,16 @@ void android_emulation_setup( void )
D( "ping command: %s %s", comspec, args );
#else
- int pid = fork();
+ int pid;
+
+ /* disable SIGALRM for the fork(), the periodic signal seems to
+ * interefere badly with the fork() implementation on Linux running
+ * under VMWare.
+ */
+ BEGIN_NOSIGALRM
+ pid = fork();
+ END_NOSIGALRM
+
if (pid == 0) {
int fd = open("/dev/null", O_WRONLY);
dup2(fd, 1);