Laszlo Ersek 293d2a0014 monitor: maintain at most one G_IO_OUT watch
When monitor_flush() is invoked repeatedly outside the monitor_unblocked()
callback, for example from tlb_info() -> ... -> print_pte(), several
watches may be added for the same event.

This is no problem per se because the extra monitor_unblocked() callbacks
are harmless if mon->outbuf is empty, the watches will be removed
gradually. However a big number of watches can grow "gpollfds" without
limit in glib_pollfds_fill(), triggering a -1/EINVAL condition in
g_poll().

Keep at most one such watch, by following the pattern observable in eg.
commits c874ea97 and c3d6b96e. The change has no effect when
monitor_unblocked() calls monitor_flush() (when the watch can either be
removed or renewed 1-for-1), but non-callback contexts won't create an
additional watch when the monitor already has one.

Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=970047

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Amit Shah <amit.shah@redhat.com>
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
Message-id: 1373998781-29561-3-git-send-email-lersek@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-07-18 11:22:57 -05:00
2013-04-18 13:50:53 +02:00
2013-07-09 13:38:56 -05:00
2013-07-18 08:12:47 -05:00
2012-12-19 08:29:06 +01:00
2013-07-10 10:54:16 -05:00
2013-06-28 14:01:52 -05:00
2013-07-10 10:54:16 -05:00
2013-05-28 12:19:02 +02:00
2013-07-10 10:54:16 -05:00
2013-07-09 07:15:25 -07:00
2013-05-03 13:58:09 +02:00
2013-07-10 13:42:09 -04:00
2012-09-07 09:02:44 +03:00
2013-06-11 23:45:43 +04:00
2013-04-18 13:50:53 +02:00
2013-02-21 16:17:31 -06:00
2013-04-08 18:13:10 +02:00
2012-05-14 07:27:24 +02:00
2013-07-15 09:49:00 +02:00
2013-07-15 09:49:00 +02:00
2013-02-21 16:17:31 -06:00
2013-07-10 10:54:16 -05:00
2011-12-09 11:25:22 +00:00
2013-06-14 15:33:10 +01:00
2013-05-03 13:05:49 +02:00
2013-05-18 16:35:12 +04:00
2013-07-18 08:12:47 -05:00
2013-02-22 21:21:10 +01:00
2013-06-06 11:27:05 +02:00
2013-06-06 11:27:05 +02:00
2013-05-01 13:06:07 +02:00
2011-12-11 17:50:43 -06:00
2013-05-03 12:04:40 -05:00
2013-06-27 02:38:36 +02:00
2013-07-10 10:54:16 -05:00
2013-05-20 10:55:18 -05:00
2013-07-10 13:42:09 -04:00
2013-07-04 17:42:45 +02:00
2013-04-08 18:13:10 +02:00

Read the documentation in qemu-doc.html or on http://wiki.qemu.org

- QEMU team
Description
A fork of QEMU-Nyx which is better suited for my bachelors thesis
Readme 154 MiB
Languages
C 90.3%
Dylan 2.5%
Python 2.1%
C++ 2%
Shell 1.7%
Other 1.4%