OSDN Git Service

Fix bad qemud crash on emulator startup.
authorDavid 'Digit' Turner <digit@google.com>
Tue, 26 May 2009 20:21:28 +0000 (22:21 +0200)
committerDavid 'Digit' Turner <digit@google.com>
Tue, 26 May 2009 20:21:28 +0000 (22:21 +0200)
emulator/qemud/qemud.c

index 5edf8a6..92b2a2b 100644 (file)
@@ -849,6 +849,10 @@ fdhandler_close( FDHandler*  f )
 static void
 fdhandler_shutdown( FDHandler*  f )
 {
+    /* prevent later fdhandler_close() to
+     * call the receiver's close.
+     */
+    f->receiver->close = NULL;
 
     if (f->out_first != NULL && !f->closing)
     {
@@ -856,11 +860,6 @@ fdhandler_shutdown( FDHandler*  f )
         f->closing = 1;
         fdhandler_remove(f);
         fdhandler_prepend(f, &f->list->closing);
-
-        /* prevent later fdhandler_close() to
-         * call the receiver's close.
-         */
-        f->receiver->close = NULL;
         return;
     }