From: Ben Gras Date: Tue, 9 Aug 2011 16:59:01 +0000 (+0000) Subject: tty: handle REVIVE case on console device X-Git-Tag: v3.2.0~378 X-Git-Url: http://zhaoyanbai.com/repos/rndc.html?a=commitdiff_plain;h=3a44cd477b437dfb9d4853d934f4ec64901a5757;p=minix.git tty: handle REVIVE case on console device . can happen on e.g. ^S . reported by Stephen Hatton --- diff --git a/drivers/tty/console.c b/drivers/tty/console.c index 230f26fac..58d062d39 100644 --- a/drivers/tty/console.c +++ b/drivers/tty/console.c @@ -206,10 +206,14 @@ int try; /* Reply to the writer if all output is finished or if an error occured. */ if (tp->tty_outleft == 0 || result != OK) { - /* REVIVE is not possible. I/O on memory mapped consoles finishes. */ - tty_reply(tp->tty_outrepcode, tp->tty_outcaller, tp->tty_outproc, - tp->tty_outcum); - tp->tty_outcum = 0; + if(tp->tty_outrepcode == TTY_REVIVE) { + notify(tp->tty_outcaller); + tp->tty_outrevived = 1; + } else { + tty_reply(tp->tty_outrepcode, tp->tty_outcaller, + tp->tty_outproc, tp->tty_outcum); + tp->tty_outcum = 0; + } } return 0;