浏览代码

fix errno for posix_openpt with no free ptys available

linux fails the open with ENOSPC, but POSIX mandates EAGAIN.
Rich Felker 5 年之前
父节点
当前提交
4fd0f20560
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      src/misc/pty.c

+ 3 - 1
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)