Patchwork Restore terminal monitor attributes - addition

login
register
mail settings
Submitter Shahar Havivi
Date March 14, 2010, 8:41 p.m.
Message ID <20100314204111.GA9351@redhat.com>
Download mbox | patch
Permalink /patch/47732/
State New
Headers show

Comments

Shahar Havivi - March 14, 2010, 8:41 p.m.
Patch 2d753894c7553d6a05e8fdbed5f4704398919a35 was missing this check,
when running monitor as /dev/tty and other serial device, i.e:
  qemu -monitor /dev/tty -serial /dev/pts/1

Without this patch any serial device will override the monitor stored
attributes. (monitor is called in main() before any serial device).

Signed-off-by: Shahar Havivi <shaharh@redhat.com>
---
 qemu-char.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
Anthony Liguori - March 31, 2010, 4:42 p.m.
On 03/14/2010 03:41 PM, Shahar Havivi wrote:
> Patch 2d753894c7553d6a05e8fdbed5f4704398919a35 was missing this check,
> when running monitor as /dev/tty and other serial device, i.e:
>    qemu -monitor /dev/tty -serial /dev/pts/1
>
> Without this patch any serial device will override the monitor stored
> attributes. (monitor is called in main() before any serial device).
>
> Signed-off-by: Shahar Havivi<shaharh@redhat.com>
>    

Applied.  Thanks.

Regards,

Anthony Liguori
> ---
>   qemu-char.c |    4 +++-
>   1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/qemu-char.c b/qemu-char.c
> index 0e25ef3..4bf1e82 100644
> --- a/qemu-char.c
> +++ b/qemu-char.c
> @@ -1002,7 +1002,9 @@ static void tty_serial_init(int fd, int speed,
>              speed, parity, data_bits, stop_bits);
>   #endif
>       tcgetattr (fd,&tty);
> -    oldtty = tty;
> +    if (!term_atexit_done) {
> +        oldtty = tty;
> +    }
>
>   #define check_speed(val) if (speed<= val) { spd = B##val; break; }
>       speed = speed * 10 / 11;
>

Patch

diff --git a/qemu-char.c b/qemu-char.c
index 0e25ef3..4bf1e82 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -1002,7 +1002,9 @@  static void tty_serial_init(int fd, int speed,
            speed, parity, data_bits, stop_bits);
 #endif
     tcgetattr (fd, &tty);
-    oldtty = tty;
+    if (!term_atexit_done) {
+        oldtty = tty;
+    }
 
 #define check_speed(val) if (speed <= val) { spd = B##val; break; }
     speed = speed * 10 / 11;