diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-12-07 13:36:03 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-12-07 13:36:03 +0000 |
commit | 5470bc9f78247e48e50ce471a7939390c0f0639e (patch) | |
tree | 8ef0185b6d049f2597c2192f2339691b36f018ed /sysdeps | |
parent | c882585fc83ce93f22b838cc1497118efe83ddfd (diff) | |
download | glibc-5470bc9f78247e48e50ce471a7939390c0f0639e.zip glibc-5470bc9f78247e48e50ce471a7939390c0f0639e.tar.gz glibc-5470bc9f78247e48e50ce471a7939390c0f0639e.tar.bz2 |
Update.
1998-12-07 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/speed.c (cfsetispeed): Make a real
function. Don't set speed is SPEED parameter is zero since this
means set it to the output speed.
* version.h (VERSION): Bump to 2.0.106.
1998-12-07 12:06 Ulrich Drepper <drepper@cygnus.com>
* po/de.po: Update from translation team.
* po/ko.po: Likewise.
1998-12-07 Richard Henderson <rth@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/select.S: Save a4 through
both paths.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/select.S | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/speed.c | 27 |
2 files changed, 29 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/select.S b/sysdeps/unix/sysv/linux/alpha/select.S index 704e71d..1876e2f 100644 --- a/sysdeps/unix/sysv/linux/alpha/select.S +++ b/sysdeps/unix/sysv/linux/alpha/select.S @@ -50,6 +50,11 @@ LEAF(SELECT, 64) .prologue 1 ldl t0, __libc_missing_axp_tv64 + + /* Save timeout early, since we'll need to recover this after + the system call. */ + stq a4, 48(sp) + bne t0, $do32 /* Save arguments in case we do need to fall back. */ @@ -57,7 +62,6 @@ LEAF(SELECT, 64) stq a1, 16(sp) stq a2, 24(sp) stq a3, 32(sp) - stq a4, 48(sp) ldi v0, SYS_ify(select) callsys diff --git a/sysdeps/unix/sysv/linux/speed.c b/sysdeps/unix/sysv/linux/speed.c index 6a1b243..a0aefd8 100644 --- a/sysdeps/unix/sysv/linux/speed.c +++ b/sysdeps/unix/sysv/linux/speed.c @@ -1,5 +1,5 @@ /* `struct termios' speed frobnication functions. Linux version. - Copyright (C) 1991, 92, 93, 95, 96, 97 Free Software Foundation, Inc. + Copyright (C) 1991, 92, 93, 95, 96, 97, 98 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -54,5 +54,26 @@ cfsetospeed (termios_p, speed) } /* Set the input baud rate stored in *TERMIOS_P to SPEED. - For Linux there is no difference between input and output speed. */ -strong_alias (cfsetospeed, cfsetispeed); + Although for Linux there is no difference between input and output + speed, the numerical 0 is a special case for the input baud rate. It + should set the input baud rate to the output baud rate. */ +int +cfsetispeed (termios_p, speed) + struct termios *termios_p; + speed_t speed; +{ + if ((speed & ~CBAUD) != 0 + && (speed < B57600 || speed > B460800)) + { + __set_errno (EINVAL); + return -1; + } + + if (speed != 0) + { + termios_p->c_cflag &= ~(CBAUD | CBAUDEX); + termios_p->c_cflag |= speed; + } + + return 0; +} |