https://github.com/python/cpython/commit/3d20955a0bb25656933f14dc671f83a5974544c2
commit: 3d20955a0bb25656933f14dc671f83a5974544c2
branch: 3.13
author: Miss Islington (bot) <[email protected]>
committer: serhiy-storchaka <[email protected]>
date: 2026-07-20T12:43:25+03:00
summary:

[3.13] gh-154227: Fix os.posix_openpt() on OpenBSD (GH-154228) (GH-154237)

(cherry picked from commit d01b90cf33f8f77172eb9f445dbc2ed0055ffd3b)

Co-authored-by: Serhiy Storchaka <[email protected]>
Co-authored-by: Claude Fable 5 <[email protected]>

files:
A Misc/NEWS.d/next/Library/2026-07-20-14-00-00.gh-issue-154227.openpt.rst
M Modules/posixmodule.c

diff --git 
a/Misc/NEWS.d/next/Library/2026-07-20-14-00-00.gh-issue-154227.openpt.rst 
b/Misc/NEWS.d/next/Library/2026-07-20-14-00-00.gh-issue-154227.openpt.rst
new file mode 100644
index 00000000000000..e33d090d78c593
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2026-07-20-14-00-00.gh-issue-154227.openpt.rst
@@ -0,0 +1,2 @@
+Fix :func:`os.posix_openpt` on OpenBSD, where it rejected the
+:data:`~os.O_CLOEXEC` flag.
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index edb28f1d7b6ba9..668383889a7763 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -8618,7 +8618,9 @@ os_posix_openpt_impl(PyObject *module, int oflag)
 {
     int fd;
 
-#if defined(O_CLOEXEC)
+    // OpenBSD posix_openpt() rejects any flag other than O_RDWR and
+    // O_NOCTTY; the fd is made non-inheritable below in any case.
+#if defined(O_CLOEXEC) && !defined(__OpenBSD__)
     oflag |= O_CLOEXEC;
 #endif
 

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to