qemu/chardev
Marc-André Lureau 9ac3788b0b char: add a QEMU_CHAR_FEATURE_GCONTEXT flag
QEMU_CHAR_FEATURE_GCONTEXT declares the character device can switch
GMainContext.

Assert we don't switch context when the character device doesn't
provide this feature.  Character device users must not violate this
restriction.  In particular, user configurations that violate them
must be rejected.

Existing frontend that rely on context switching would now assert() if
the backend doesn't allow it (instead of silently producing undesired
events in the default context). Following patches improve the
situation by reporting an error earlier instead, on the frontend side.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20181205203737.9011-4-marcandre.lureau@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2018-12-12 09:55:57 +01:00
..
Makefile.objs buildsys: Move brlapi libs to per object 2017-09-22 10:20:34 +08:00
baum.c baum: Truncate braille device size to 84x1 2017-12-21 09:22:44 +01:00
char-console.c chardev: move headers to include/chardev 2017-06-02 11:33:52 +04:00
char-fd.c chardev: remove context in chr_update_read_handler 2017-09-22 21:07:27 +02:00
char-fe.c chardev: unref if underlying chardev has no parent 2018-10-03 14:45:04 +04:00
char-file.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
char-io.c chardev: use a child source for qio input source 2018-10-03 14:45:05 +04:00
char-mux.c mux: fix ctrl-a b again 2018-06-01 15:13:46 +02:00
char-null.c chardev: move headers to include/chardev 2017-06-02 11:33:52 +04:00
char-parallel.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
char-pipe.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
char-pty.c char: Use error_printf() to print help and such 2018-10-19 14:51:34 +02:00
char-ringbuf.c Include less of the generated modular QAPI headers 2018-03-02 13:45:50 -06:00
char-serial.c serial: Open non-block 2018-07-02 15:41:18 +02:00
char-socket.c chardev: Add websocket support 2018-11-01 12:12:58 +04:00
char-stdio.c chardev: don't splatter terminal settings on exit if not previously set 2018-06-28 19:05:30 +02:00
char-udp.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
char-win-stdio.c chardev: move headers to include/chardev 2017-06-02 11:33:52 +04:00
char-win.c chardev: move headers to include/chardev 2017-06-02 11:33:52 +04:00
char.c char: add a QEMU_CHAR_FEATURE_GCONTEXT flag 2018-12-12 09:55:57 +01:00
msmouse.c char: move char devices to chardev/ 2017-06-02 11:33:53 +04:00
spice.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
testdev.c char: move char devices to chardev/ 2017-06-02 11:33:53 +04:00
trace-events docs: fix broken paths to docs/devel/tracing.txt 2017-07-31 13:12:53 +03:00
wctablet.c misc: remove headers implicitly included 2017-12-18 17:07:02 +03:00