From: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> Date: Fri, 14 Nov 2025 11:20:36 +0000 (+0000) Subject: gh-141004: Document `PyOS_InterruptOccurred` (GH-141526) X-Git-Tag: v3.15.0a2~45 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ef90261be508b97d682589aac8f00065a9585683;p=thirdparty%2FPython%2Fcpython.git gh-141004: Document `PyOS_InterruptOccurred` (GH-141526) --- diff --git a/Doc/c-api/sys.rst b/Doc/c-api/sys.rst index 336e3ef96400..ee73c1c8adaa 100644 --- a/Doc/c-api/sys.rst +++ b/Doc/c-api/sys.rst @@ -123,6 +123,24 @@ Operating System Utilities This is a thin wrapper around either :c:func:`!sigaction` or :c:func:`!signal`. Do not call those functions directly! + +.. c:function:: int PyOS_InterruptOccurred(void) + + Check if a :c:macro:`!SIGINT` signal has been received. + + Returns ``1`` if a :c:macro:`!SIGINT` has occurred and clears the signal flag, + or ``0`` otherwise. + + In most cases, you should prefer :c:func:`PyErr_CheckSignals` over this function. + :c:func:`!PyErr_CheckSignals` invokes the appropriate signal handlers + for all pending signals, allowing Python code to handle the signal properly. + This function only detects :c:macro:`!SIGINT` and does not invoke any Python + signal handlers. + + This function is async-signal-safe and this function cannot fail. + The caller must hold an :term:`attached thread state`. + + .. c:function:: wchar_t* Py_DecodeLocale(const char* arg, size_t *size) .. warning::