[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r19167: {torvm} I dont think anyone uses the vm no-op mode, but if they do m (torvm/trunk/build/win32/src/torvm-w32)
Author: coderman
Date: 2009-03-27 15:55:43 -0400 (Fri, 27 Mar 2009)
New Revision: 19167
Modified:
torvm/trunk/build/win32/src/torvm-w32/torvm.c
Log:
I dont think anyone uses the vm no-op mode, but if they do make sure we dont crash.
Modified: torvm/trunk/build/win32/src/torvm-w32/torvm.c
===================================================================
--- torvm/trunk/build/win32/src/torvm-w32/torvm.c 2009-03-27 18:53:05 UTC (rev 19166)
+++ torvm/trunk/build/win32/src/torvm-w32/torvm.c 2009-03-27 19:55:43 UTC (rev 19167)
@@ -1722,7 +1722,7 @@
TCHAR *cmd = malloc(CMDMAX);
/* TODO: clean this up once the msys path munging works. kernel and hdd need to be unixy paths */
snprintf (cmd, CMDMAX -1,
- "\"%s\" -L . -no-reboot -kernel ../lib/vmlinuz -hda ../state/hdd.img -m %d -std-vga", qemubin, QEMU_DEF_MEM);
+ "\"%s\" -L . -no-reboot -kernel ../lib/vmlinuz -append \"loglevel=9 NOINIT\" -hda ../state/hdd.img -m %d -std-vga", qemubin, QEMU_DEF_MEM);
ldebug ("Launching Qemu with cmd: %s", cmd);
if( !CreateProcess(NULL,
cmd,
@@ -1781,9 +1781,9 @@
goto cleanup;
}
if (!buildsyspath(SYSDIR_LCLDATA, "Polipo\\save-cfg.txt", &pcfgdestsave)) {
- lerror ("Unable to build path for polipo saved dest config.");
+ lerror ("Unable to build path for polipo saved dest config.");
goto cleanup;
- }
+ }
if (!buildsyspath(SYSDIR_LCLPROGRAMS, "Vidalia\\vidalia-marble.exe", &exe)) {
lerror ("Unable to build path for vidalia marble exe.");
goto cleanup;
@@ -1811,7 +1811,7 @@
ldebug ("Copying default polipo config from %s to save-file %s", pcfgtmp, pcfgdestsave);
copyfile(pcfgtmp, pcfgdestsave);
}
-
+
cmd = malloc(CMDMAX);
snprintf (cmd, CMDMAX -1,
"\"%s\" -tor-address %s%s",
@@ -1852,6 +1852,8 @@
free(vcfgdest);
if(pcfgdest)
free(pcfgdest);
+ if(pcfgdestsave)
+ free(pcfgdestsave);
return retval;
}
@@ -2389,27 +2391,27 @@
lerror ("Unable to generate command line for kernel.");
goto shutdown;
}
+ ldebug ("Generated kernel command line: %s", cmdline);
}
- ldebug ("Generated kernel command line: %s", cmdline);
-
PROCESS_INFORMATION pi;
- if (!vmnop) {
- if (! launchtorvm(&pi,
- ce->guid,
- ce->macaddr,
- TOR_TAP_NAME,
- cmdline)) {
- lerror ("Unable to launch Qemu TorVM instance.");
- goto shutdown;
- }
- }
- else {
+ if (vmnop) {
if (! spawnprocess(&pi, "qemu.exe")) {
lerror ("Unable to launch default Qemu instance.");
- goto shutdown;
}
+ /* This mode does nothing but run Qemu with the kernel and virtual disk.
+ * no need for cleanup or interface configuration.
+ */
+ exit (0);
}
+ if (! launchtorvm(&pi,
+ ce->guid,
+ ce->macaddr,
+ TOR_TAP_NAME,
+ cmdline)) {
+ lerror ("Unable to launch Qemu TorVM instance.");
+ goto shutdown;
+ }
/* need to delay long enough to allow qemu to start and open tap device */
if (tapconn) {