From 2d6c1ef40f3678ab47a4d14fb5dadaa486bfcda6 Mon Sep 17 00:00:00 2001 From: Amit Shah Date: Thu, 10 Feb 2011 12:55:20 +0530 Subject: char: Prevent multiple devices opening same chardev Prevent: -chardev socket,path=/tmp/foo,server,nowait,id=c0 \ -device virtserialport,chardev=c0,id=vs0 \ -device virtserialport,chardev=c0,id=vs1 Reported-by: Mike Cao Signed-off-by: Amit Shah --- qemu-char.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'qemu-char.c') diff --git a/qemu-char.c b/qemu-char.c index cad35d7..c4557c3 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -197,6 +197,10 @@ void qemu_chr_add_handlers(CharDriverState *s, IOEventHandler *fd_event, void *opaque) { + if (!opaque) { + /* chr driver being released. */ + s->assigned = 0; + } s->chr_can_read = fd_can_read; s->chr_read = fd_read; s->chr_event = fd_event; -- cgit v1.1