Fix error reporting under Win32 (CreateFile does not set errno)
authormalc <malc@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 8 Jun 2008 01:55:09 +0000 (01:55 +0000)
committermalc <malc@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 8 Jun 2008 01:55:09 +0000 (01:55 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4698 c046a42c-6fe2-441c-8c8c-71466251a162

kqemu.c

diff --git a/kqemu.c b/kqemu.c
index 540aa3c..4783aa2 100644 (file)
--- a/kqemu.c
+++ b/kqemu.c
@@ -166,14 +166,19 @@ int kqemu_init(CPUState *env)
                           FILE_SHARE_READ | FILE_SHARE_WRITE,
                           NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
                           NULL);
+    if (kqemu_fd == KQEMU_INVALID_FD) {
+        fprintf(stderr, "Could not open '%s' - QEMU acceleration layer not activated: %lu\n",
+                KQEMU_DEVICE, GetLastError());
+        return -1;
+    }
 #else
     kqemu_fd = open(KQEMU_DEVICE, O_RDWR);
-#endif
     if (kqemu_fd == KQEMU_INVALID_FD) {
         fprintf(stderr, "Could not open '%s' - QEMU acceleration layer not activated: %s\n",
                 KQEMU_DEVICE, strerror(errno));
         return -1;
     }
+#endif
     version = 0;
 #ifdef _WIN32
     DeviceIoControl(kqemu_fd, KQEMU_GET_VERSION, NULL, 0,