.. availability:: Unix, not Emscripten, not WASI.
- .. note::
- This function is not available on macOS.
-
.. versionadded:: 3.3
+ .. versionchanged:: 3.13
+ This function is now available on macOS as well.
+
.. function:: waitpid(pid, options, /)
#endif /* defined(HAVE_WAIT4) */
-#if (defined(HAVE_WAITID) && !defined(__APPLE__))
+#if defined(HAVE_WAITID)
PyDoc_STRVAR(os_waitid__doc__,
"waitid($module, idtype, id, options, /)\n"
return return_value;
}
-#endif /* (defined(HAVE_WAITID) && !defined(__APPLE__)) */
+#endif /* defined(HAVE_WAITID) */
#if defined(HAVE_WAITPID)
#ifndef OS__SUPPORTS_VIRTUAL_TERMINAL_METHODDEF
#define OS__SUPPORTS_VIRTUAL_TERMINAL_METHODDEF
#endif /* !defined(OS__SUPPORTS_VIRTUAL_TERMINAL_METHODDEF) */
-/*[clinic end generated code: output=b82391c4f58231b6 input=a9049054013a1b77]*/
+/*[clinic end generated code: output=18c128534c355d84 input=a9049054013a1b77]*/
PyObject *TerminalSizeType;
PyObject *TimesResultType;
PyObject *UnameResultType;
-#if defined(HAVE_WAITID) && !defined(__APPLE__)
+#if defined(HAVE_WAITID)
PyObject *WaitidResultType;
#endif
#if defined(HAVE_WAIT3) || defined(HAVE_WAIT4)
10
};
-#if defined(HAVE_WAITID) && !defined(__APPLE__)
+#if defined(HAVE_WAITID)
PyDoc_STRVAR(waitid_result__doc__,
"waitid_result: Result from waitid.\n\n\
This object may be accessed either as a tuple of\n\
Py_CLEAR(state->TerminalSizeType);
Py_CLEAR(state->TimesResultType);
Py_CLEAR(state->UnameResultType);
-#if defined(HAVE_WAITID) && !defined(__APPLE__)
+#if defined(HAVE_WAITID)
Py_CLEAR(state->WaitidResultType);
#endif
#if defined(HAVE_WAIT3) || defined(HAVE_WAIT4)
Py_VISIT(state->TerminalSizeType);
Py_VISIT(state->TimesResultType);
Py_VISIT(state->UnameResultType);
-#if defined(HAVE_WAITID) && !defined(__APPLE__)
+#if defined(HAVE_WAITID)
Py_VISIT(state->WaitidResultType);
#endif
#if defined(HAVE_WAIT3) || defined(HAVE_WAIT4)
#endif /* HAVE_WAIT4 */
-#if defined(HAVE_WAITID) && !defined(__APPLE__)
+#if defined(HAVE_WAITID)
/*[clinic input]
os.waitid
return result;
}
-#endif /* defined(HAVE_WAITID) && !defined(__APPLE__) */
+#endif /* defined(HAVE_WAITID) */
#if defined(HAVE_WAITPID)
return -1;
}
-#if defined(HAVE_WAITID) && !defined(__APPLE__)
+#if defined(HAVE_WAITID)
waitid_result_desc.name = MODNAME ".waitid_result";
state->WaitidResultType = (PyObject *)PyStructSequence_NewType(&waitid_result_desc);
if (PyModule_AddObjectRef(m, "waitid_result", state->WaitidResultType) < 0) {