Revision 293d2a00
b/monitor.c | ||
---|---|---|
189 | 189 |
int suspend_cnt; |
190 | 190 |
bool skip_flush; |
191 | 191 |
QString *outbuf; |
192 |
guint watch; |
|
192 | 193 |
ReadLineState *rs; |
193 | 194 |
MonitorControl *mc; |
194 | 195 |
CPUState *mon_cpu; |
... | ... | |
263 | 264 |
static gboolean monitor_unblocked(GIOChannel *chan, GIOCondition cond, |
264 | 265 |
void *opaque) |
265 | 266 |
{ |
266 |
monitor_flush(opaque); |
|
267 |
Monitor *mon = opaque; |
|
268 |
|
|
269 |
mon->watch = 0; |
|
270 |
monitor_flush(mon); |
|
267 | 271 |
return FALSE; |
268 | 272 |
} |
269 | 273 |
|
... | ... | |
294 | 298 |
QDECREF(mon->outbuf); |
295 | 299 |
mon->outbuf = tmp; |
296 | 300 |
} |
297 |
qemu_chr_fe_add_watch(mon->chr, G_IO_OUT, monitor_unblocked, mon); |
|
301 |
if (mon->watch == 0) { |
|
302 |
mon->watch = qemu_chr_fe_add_watch(mon->chr, G_IO_OUT, |
|
303 |
monitor_unblocked, mon); |
|
304 |
} |
|
298 | 305 |
} |
299 | 306 |
} |
300 | 307 |
|
Also available in: Unified diff