mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
[3.11] GH-93899: fix checks for eventfd flags (GH-95170). (#95342)
(cherry picked from commit 4dd099baff
)
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
This commit is contained in:
parent
33efd7f7a3
commit
7813d976ae
3 changed files with 15 additions and 10 deletions
|
@ -0,0 +1 @@
|
||||||
|
Fix check for existence of :data:`os.EFD_CLOEXEC`, :data:`os.EFD_NONBLOCK` and :data:`os.EFD_SEMAPHORE` flags on older kernel versions where these flags are not present. Patch by Kumar Aditya.
|
14
Modules/clinic/posixmodule.c.h
generated
14
Modules/clinic/posixmodule.c.h
generated
|
@ -7887,7 +7887,7 @@ exit:
|
||||||
|
|
||||||
#endif /* defined(HAVE_MEMFD_CREATE) */
|
#endif /* defined(HAVE_MEMFD_CREATE) */
|
||||||
|
|
||||||
#if defined(HAVE_EVENTFD)
|
#if (defined(HAVE_EVENTFD) && defined(EFD_CLOEXEC))
|
||||||
|
|
||||||
PyDoc_STRVAR(os_eventfd__doc__,
|
PyDoc_STRVAR(os_eventfd__doc__,
|
||||||
"eventfd($module, /, initval, flags=EFD_CLOEXEC)\n"
|
"eventfd($module, /, initval, flags=EFD_CLOEXEC)\n"
|
||||||
|
@ -7933,9 +7933,9 @@ exit:
|
||||||
return return_value;
|
return return_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* defined(HAVE_EVENTFD) */
|
#endif /* (defined(HAVE_EVENTFD) && defined(EFD_CLOEXEC)) */
|
||||||
|
|
||||||
#if defined(HAVE_EVENTFD)
|
#if (defined(HAVE_EVENTFD) && defined(EFD_CLOEXEC))
|
||||||
|
|
||||||
PyDoc_STRVAR(os_eventfd_read__doc__,
|
PyDoc_STRVAR(os_eventfd_read__doc__,
|
||||||
"eventfd_read($module, /, fd)\n"
|
"eventfd_read($module, /, fd)\n"
|
||||||
|
@ -7971,9 +7971,9 @@ exit:
|
||||||
return return_value;
|
return return_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* defined(HAVE_EVENTFD) */
|
#endif /* (defined(HAVE_EVENTFD) && defined(EFD_CLOEXEC)) */
|
||||||
|
|
||||||
#if defined(HAVE_EVENTFD)
|
#if (defined(HAVE_EVENTFD) && defined(EFD_CLOEXEC))
|
||||||
|
|
||||||
PyDoc_STRVAR(os_eventfd_write__doc__,
|
PyDoc_STRVAR(os_eventfd_write__doc__,
|
||||||
"eventfd_write($module, /, fd, value)\n"
|
"eventfd_write($module, /, fd, value)\n"
|
||||||
|
@ -8013,7 +8013,7 @@ exit:
|
||||||
return return_value;
|
return return_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* defined(HAVE_EVENTFD) */
|
#endif /* (defined(HAVE_EVENTFD) && defined(EFD_CLOEXEC)) */
|
||||||
|
|
||||||
#if (defined(TERMSIZE_USE_CONIO) || defined(TERMSIZE_USE_IOCTL))
|
#if (defined(TERMSIZE_USE_CONIO) || defined(TERMSIZE_USE_IOCTL))
|
||||||
|
|
||||||
|
@ -9370,4 +9370,4 @@ exit:
|
||||||
#ifndef OS_WAITSTATUS_TO_EXITCODE_METHODDEF
|
#ifndef OS_WAITSTATUS_TO_EXITCODE_METHODDEF
|
||||||
#define OS_WAITSTATUS_TO_EXITCODE_METHODDEF
|
#define OS_WAITSTATUS_TO_EXITCODE_METHODDEF
|
||||||
#endif /* !defined(OS_WAITSTATUS_TO_EXITCODE_METHODDEF) */
|
#endif /* !defined(OS_WAITSTATUS_TO_EXITCODE_METHODDEF) */
|
||||||
/*[clinic end generated code: output=6150bcc25f5e4bc7 input=a9049054013a1b77]*/
|
/*[clinic end generated code: output=2a53748bcf001a3f input=a9049054013a1b77]*/
|
||||||
|
|
|
@ -13134,7 +13134,7 @@ os_memfd_create_impl(PyObject *module, PyObject *name, unsigned int flags)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_EVENTFD
|
#if defined(HAVE_EVENTFD) && defined(EFD_CLOEXEC)
|
||||||
/*[clinic input]
|
/*[clinic input]
|
||||||
os.eventfd
|
os.eventfd
|
||||||
|
|
||||||
|
@ -13205,7 +13205,7 @@ os_eventfd_write_impl(PyObject *module, int fd, unsigned long long value)
|
||||||
}
|
}
|
||||||
Py_RETURN_NONE;
|
Py_RETURN_NONE;
|
||||||
}
|
}
|
||||||
#endif /* HAVE_EVENTFD */
|
#endif /* HAVE_EVENTFD && EFD_CLOEXEC */
|
||||||
|
|
||||||
/* Terminal size querying */
|
/* Terminal size querying */
|
||||||
|
|
||||||
|
@ -15505,11 +15505,15 @@ all_ins(PyObject *m)
|
||||||
#endif
|
#endif
|
||||||
#endif /* HAVE_MEMFD_CREATE */
|
#endif /* HAVE_MEMFD_CREATE */
|
||||||
|
|
||||||
#ifdef HAVE_EVENTFD
|
#if defined(HAVE_EVENTFD) && defined(EFD_CLOEXEC)
|
||||||
if (PyModule_AddIntMacro(m, EFD_CLOEXEC)) return -1;
|
if (PyModule_AddIntMacro(m, EFD_CLOEXEC)) return -1;
|
||||||
|
#ifdef EFD_NONBLOCK
|
||||||
if (PyModule_AddIntMacro(m, EFD_NONBLOCK)) return -1;
|
if (PyModule_AddIntMacro(m, EFD_NONBLOCK)) return -1;
|
||||||
|
#endif
|
||||||
|
#ifdef EFD_SEMAPHORE
|
||||||
if (PyModule_AddIntMacro(m, EFD_SEMAPHORE)) return -1;
|
if (PyModule_AddIntMacro(m, EFD_SEMAPHORE)) return -1;
|
||||||
#endif
|
#endif
|
||||||
|
#endif /* HAVE_EVENTFD && EFD_CLOEXEC */
|
||||||
|
|
||||||
#if defined(__APPLE__)
|
#if defined(__APPLE__)
|
||||||
if (PyModule_AddIntConstant(m, "_COPYFILE_DATA", COPYFILE_DATA)) return -1;
|
if (PyModule_AddIntConstant(m, "_COPYFILE_DATA", COPYFILE_DATA)) return -1;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue