diff options
author | kraxel <kraxel> | 2009-03-17 15:43:30 +0000 |
---|---|---|
committer | kraxel <kraxel> | 2009-03-17 15:43:30 +0000 |
commit | 58c2f65fe5725b88d60ebb59f888959da59f16e6 (patch) | |
tree | 9e2f69ca07bc990d28eb98a8f9d3a0e4219829ce | |
parent | b8e450c041409fd6881c7938d525a9be78d95356 (diff) | |
download | qemu-gtk-58c2f65fe5725b88d60ebb59f888959da59f16e6.tar.gz |
misc qemu-run tweaks
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | monitor.c | 7 | ||||
-rwxr-xr-x | qemu-run | 20 |
3 files changed, 20 insertions, 9 deletions
@@ -1 +1 @@ -0.7 +0.10 @@ -241,8 +241,15 @@ close: int monitor_connect(struct qemu_window *win, char *dest) { + char buf[256]; int fd; + if (!strchr(dest,':') && !strchr(dest,'/')) { + /* just a name */ + snprintf(buf, sizeof(buf), "unix:%s/.qemu-gtk/%s", getenv("HOME"), dest); + dest = buf; + } + fd = conn_init(&win->monitor, "monitor", dest); if (-1 == fd) return -1; @@ -2,16 +2,19 @@ use warnings; use strict; use XML::Parser; +use Getopt::Std; # args -my $name = shift; +my %opts; +getopts('dm', \%opts); +my $name = shift; +my $debug = defined($opts{'d'}) ? 1 : 0; +my $showmon = defined($opts{'m'}) ? 1 : 0; # config -my $debug = 1; -my $showmon = 1; my $tapup = "/etc/qemu-virbr0-ifup"; my $tapdown = "/etc/qemu-virbr0-ifdown"; -my $mondir = $ENV{HOME} . "/.qemu-run"; +my $mondir = $ENV{HOME} . "/.qemu-gtk"; my $monitor = $mondir . "/" . $name . ",server,nowait"; # vars @@ -253,9 +256,6 @@ if ($graphics) { print "-- \n" if $debug; -# print it -print join(", ", map { "\"$_\"" } @cmdline) . "\n"; - # prepare mkdir $mondir unless -d $mondir; unlink($monitor); @@ -265,6 +265,8 @@ $pid = fork(); die "fork: $!" unless defined($pid); if (0 == $pid) { # child + print join(", ", map { "\"$_\"" } @cmdline) . "\n" + if $debug; exec(@cmdline); exit(1); } @@ -273,9 +275,11 @@ if (0 == $pid) { @cmdline = (); push @cmdline, "qemu-gtk"; push @cmdline, "-m" if $showmon; -push @cmdline, "unix:monitor"; +push @cmdline, "unix:$monitor"; foreach my $i (0 ... 256) { last if -S $monitor; sleep(0.03); } +print join(", ", map { "\"$_\"" } @cmdline) . "\n" + if $debug; exec(@cmdline); |