diff -r 2a8eaba24bf0 tools/ioemu/keymaps.c
--- a/tools/ioemu/keymaps.c Tue Feb 26 15:11:51 2008 +0000
+++ b/tools/ioemu/keymaps.c Wed Feb 27 15:26:53 2008 -0500
@@ -126,11 +126,11 @@ static kbd_layout_t *parse_keyboard_layo
if (rest && strstr(rest, "numlock")) {
add_to_key_range(&k->keypad_range, keycode);
add_to_key_range(&k->numlock_range, keysym);
- fprintf(stderr, "keypad keysym %04x keycode %d\n", keysym, keycode);
+ //fprintf(stderr, "keypad keysym %04x keycode %d\n", keysym, keycode);
}
if (rest && strstr(rest, "shift")) {
add_to_key_range(&k->shift_range, keysym);
- fprintf(stderr, "shift keysym %04x keycode %d\n", keysym, keycode);
+ //fprintf(stderr, "shift keysym %04x keycode %d\n", keysym, keycode);
}
/* if(keycode&0x80)
diff -r 2a8eaba24bf0 tools/ioemu/monitor.c
--- a/tools/ioemu/monitor.c Tue Feb 26 15:11:51 2008 +0000
+++ b/tools/ioemu/monitor.c Wed Feb 27 15:26:53 2008 -0500
@@ -2520,7 +2520,7 @@ static void monitor_handle_command1(void
static void monitor_start_input(void)
{
- readline_start("(HVMXen) ", 0, monitor_handle_command1, NULL);
+ readline_start("(qemu) ", 0, monitor_handle_command1, NULL);
}
static void term_event(void *opaque, int event)
diff -r 2a8eaba24bf0 tools/ioemu/vl.c
--- a/tools/ioemu/vl.c Tue Feb 26 15:11:51 2008 +0000
+++ b/tools/ioemu/vl.c Wed Feb 27 15:26:53 2008 -0500
@@ -7611,9 +7611,7 @@ int main(int argc, char **argv)
}
}
- /* Now send logs to our named config */
- sprintf(qemu_dm_logfilename, "/var/log/xen/qemu-dm-%d.log", domid);
- cpu_set_log_filename(qemu_dm_logfilename);
+ cpu_set_log(0);
#ifndef NO_DAEMONIZE
if (daemonize && !nographic && vnc_display == NULL && vncunused == 0) {
diff -r 2a8eaba24bf0 tools/python/xen/xend/image.py
--- a/tools/python/xen/xend/image.py Tue Feb 26 15:11:51 2008 +0000
+++ b/tools/python/xen/xend/image.py Wed Feb 27 15:26:53 2008 -0500
@@ -296,7 +296,34 @@ class ImageHandler:
{ 'dom': self.vm.getDomid(), 'read': True, 'write': True })
log.info("spawning device models: %s %s", self.device_model, args)
# keep track of pid and spawned options to kill it later
- self.pid = os.spawnve(os.P_NOWAIT, self.device_model, args, env)
+
+ logfile = "/var/log/xen/qemu-dm-%s.log" % str(self.vm.info['name_label'])
+ if os.path.exists(logfile):
+ if os.path.exists(logfile + ".1"):
+ os.unlink(logfile + ".1")
+ os.rename(logfile, logfile + ".1")
+
+ null = os.open("/dev/null", os.O_RDONLY)
+ logfd = os.open(logfile, os.O_WRONLY|os.O_CREAT|os.O_TRUNC)
+
+ pid = os.fork()
+ if pid == 0: #child
+ try:
+ os.dup2(null, 0)
+ os.dup2(logfd, 1)
+ os.dup2(logfd, 2)
+ os.close(null)
+ os.close(logfd)
+ try:
+ os.execve(self.device_model, args, env)
+ except:
+ os._exit(127)
+ except:
+ os._exit(127)
+ else:
+ self.pid = pid
+ os.close(null)
+ os.close(logfd)
self.vm.storeDom("image/device-model-pid", self.pid)
log.info("device model pid: %d", self.pid)