diff --git a/sysdeps/unix/bsd/unlockpt.c b/sysdeps/unix/bsd/unlockpt.c index d8b7f0cae7..e609685c2f 100644 --- a/sysdeps/unix/bsd/unlockpt.c +++ b/sysdeps/unix/bsd/unlockpt.c @@ -20,6 +20,7 @@ #include #include #include +#include /* Unlock the slave pseudo terminal associated with the master pseudo @@ -31,6 +32,10 @@ unlockpt (int fd) /* BSD doesn't have a lock, but it does have `revoke'. */ if (__ptsname_r (fd, buf, sizeof (buf))) - return -1; + { + if (errno == ENOTTY) + __set_errno (EINVAL); + return -1; + } return __revoke (buf); }