Alexander Graf
1a796cd199
Make char muxer more robust wrt small FIFOs
...
Virtio-Console can only process one character at a time. Using it on S390
gave me strange "lags" where I got the character I pressed before when
pressing one. So I typed in "abc" and only received "a", then pressed "d"
but the guest received "b" and so on.
While the stdio driver calls a poll function that just processes on its
queue in case virtio-console can't take multiple characters at once, the
muxer does not have such callbacks, so it can't empty its queue.
To work around that limitation, I introduced a new timer that only gets
active when the guest can not receive any more characters. In that case
it polls again after a while to check if the guest is now receiving input.
This patch fixes input when using -nographic on s390 for me.
[AF: Rebased for v2.7.0-rc2]
[BR: minor edits to pass qemu's checkpatch script]
Signed-off-by: Bruce Rogers <brogers@suse.com >
2021-12-16 16:57:45 +01:00
..
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-10-27 17:17:28 +02:00
2021-03-12 15:46:30 +01:00
2021-06-25 10:53:46 +02:00
2021-06-25 10:53:46 +02:00
2021-06-25 10:53:46 +02:00
2021-06-25 10:53:46 +02:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-06-18 10:59:52 -05:00
2021-03-12 15:46:30 +01:00
2021-11-01 19:44:11 +01:00
2021-06-25 10:53:46 +02:00
2021-07-05 11:40:32 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-06-18 10:59:52 -05:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-09-29 13:46:31 -05:00
2021-06-29 16:51:00 +02:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-09-29 13:46:32 -05:00
2021-03-12 15:46:30 +01:00
2021-10-07 10:42:09 +02:00
2021-03-12 15:46:30 +01:00
2021-12-16 16:57:45 +01:00
2021-09-27 08:23:25 +02:00
2021-03-31 10:44:21 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-07-14 14:15:52 +01:00
2021-07-14 14:15:52 +01:00
2021-07-14 14:15:52 +01:00
2021-07-14 14:15:52 +01:00
2021-07-14 14:15:52 +01:00
2021-03-12 15:46:30 +01:00
2021-06-25 10:53:46 +02:00
2021-06-25 10:53:46 +02:00
2021-03-12 15:46:30 +01:00
2021-03-24 14:25:41 +00:00
2021-10-27 17:10:00 -07:00
2021-03-12 15:46:30 +01:00
2021-07-23 18:17:17 +02:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-06-25 10:53:46 +02:00
2021-03-12 15:46:30 +01:00
2021-07-26 07:07:28 -10:00
2021-07-06 08:33:51 +02:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-07-06 08:33:51 +02:00
2021-03-12 15:46:30 +01:00
2021-09-01 11:08:15 +01:00
2021-03-12 15:46:30 +01:00
2021-09-27 08:23:25 +02:00
2021-03-23 22:31:05 +01:00
2021-09-27 08:23:25 +02:00
2021-09-27 08:23:25 +02:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-05-26 14:49:46 +02:00
2021-03-12 15:46:30 +01:00
2021-11-15 21:49:16 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-03-19 16:05:11 +01:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-06-03 16:43:27 +01:00
2021-05-14 16:14:10 +02:00
2021-03-12 15:46:30 +01:00
2021-03-12 15:46:30 +01:00
2021-09-27 08:23:25 +02:00