@@ -187,6 +187,9 @@ Each message consists of a single 8 byte little-endian signed number,
and may be accompanied by a file descriptor via SCM_RIGHTS. Both
client and server close the connection on error.
+Note: QEMU currently doesn't close the connection right on error, but
+only when the character device is destroyed.
+
On connect, the server sends the following messages in order:
1. The protocol version number, currently zero. The client should
@@ -708,8 +708,7 @@ static void ivshmem_check_version(void *opaque, const uint8_t * buf, int size)
if (tmp != -1 || version != IVSHMEM_PROTOCOL_VERSION) {
fprintf(stderr, "incompatible version, you are connecting to a ivshmem-"
"server using a different protocol please check your setup\n");
- qemu_chr_delete(s->server_chr);
- s->server_chr = NULL;
+ qemu_chr_add_handlers(s->server_chr, NULL, NULL, NULL, s);
return;
}