aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/fix-errno-for-posix_openpt-with-no-free-ptys-availab.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/musl/fix-errno-for-posix_openpt-with-no-free-ptys-availab.patch')
-rw-r--r--main/musl/fix-errno-for-posix_openpt-with-no-free-ptys-availab.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/main/musl/fix-errno-for-posix_openpt-with-no-free-ptys-availab.patch b/main/musl/fix-errno-for-posix_openpt-with-no-free-ptys-availab.patch
new file mode 100644
index 0000000000..a7afdd3dbd
--- /dev/null
+++ b/main/musl/fix-errno-for-posix_openpt-with-no-free-ptys-availab.patch
@@ -0,0 +1,28 @@
+From 4fd0f2056082441a4503f6bfcb787a7c15754518 Mon Sep 17 00:00:00 2001
+From: Rich Felker <dalias@aerifal.cx>
+Date: Tue, 22 Oct 2019 10:22:22 -0400
+Subject: [PATCH] fix errno for posix_openpt with no free ptys available
+
+linux fails the open with ENOSPC, but POSIX mandates EAGAIN.
+---
+ src/misc/pty.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/misc/pty.c b/src/misc/pty.c
+index b9cb5eaa..a0577147 100644
+--- a/src/misc/pty.c
++++ b/src/misc/pty.c
+@@ -7,7 +7,9 @@
+
+ int posix_openpt(int flags)
+ {
+- return open("/dev/ptmx", flags);
++ int r = open("/dev/ptmx", flags);
++ if (r < 0 && errno == ENOSPC) errno = EAGAIN;
++ return r;
+ }
+
+ int grantpt(int fd)
+--
+2.24.1
+