diff -urN qemu-1.4.0-rc2/gdbstub.c qemu-1.4.0-rc2-fix/gdbstub.c
--- qemu-1.4.0-rc2/gdbstub.c	2013-02-14 22:28:42.000000000 +0200
+++ qemu-1.4.0-rc2-fix/gdbstub.c	2013-02-15 13:01:07.000000000 +0200
@@ -36,6 +36,7 @@
 #endif
 
 #define MAX_PACKET_LENGTH 4096
+#define GDB_RETRY_DELAY_MS 16
 
 #include "cpu.h"
 #include "qemu/sockets.h"
@@ -385,6 +386,7 @@
         if (ret < 0) {
             if (errno != EINTR && errno != EAGAIN)
                 return;
+            usleep(GDB_RETRY_DELAY_MS*1000);
         } else {
             buf += ret;
             len -= ret;
@@ -2812,6 +2814,10 @@
              connection before continuing.  */
           return sig;
         }
+      else
+        {
+          usleep(GDB_RETRY_DELAY_MS*1000);
+        }
   }
   sig = s->signal;
   s->signal = 0;
