diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/unlockpt.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/unlockpt.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/sysdeps/unix/sysv/linux/unlockpt.c b/sysdeps/unix/sysv/linux/unlockpt.c index e20545fe80..4df33198ef 100644 --- a/sysdeps/unix/sysv/linux/unlockpt.c +++ b/sysdeps/unix/sysv/linux/unlockpt.c @@ -17,33 +17,33 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include <sys/ioctl.h> -#include <termios.h> #include <errno.h> #include <stdlib.h> +#include <sys/ioctl.h> +#include <termios.h> + -/* Given a fd on a master pseudoterminal, clear a kernel lock so that - the slave can be opened. This is to avoid a race between opening the - master and calling grantpt() to take possession of the slave. */ +/* Unlock the slave pseudo terminal associated with the master pseudo + terminal specified by FD. */ int -unlockpt (fd) - int fd __attribute__ ((unused)); +unlockpt (int fd) { #ifdef TIOCSPTLCK - int serrno = errno; + int save_errno = errno; int unlock = 0; if (__ioctl (fd, TIOCSPTLCK, &unlock)) { if (errno == EINVAL) { - __set_errno (serrno); + __set_errno (save_errno); return 0; } else return -1; } #endif - /* On pre-/dev/ptmx kernels this function should be a no-op. */ + /* If we have no TIOCSPTLCK ioctl, all slave pseudo terminals are + unlocked by default. */ return 0; } |