If you use TLS sockets in an application calling ``fork()``, see
the warning in the :mod:`ssl` documentation.
+ .. warning::
+
+ On macOS the use of this function is unsafe when mixed with using
+ higher-level system APIs, and that includes using :mod:`urllib.request`.
+
.. versionchanged:: 3.8
Calling ``fork()`` in a subinterpreter is no longer supported
(:exc:`RuntimeError` is raised).
.. audit-event:: os.forkpty "" os.forkpty
+ .. warning::
+
+ On macOS the use of this function is unsafe when mixed with using
+ higher-level system APIs, and that includes using :mod:`urllib.request`.
+
.. versionchanged:: 3.12
If Python is able to detect that your process has multiple
threads, this now raises a :exc:`DeprecationWarning`. See the
file descriptor connected to the child's controlling terminal (and also to the
child's standard input and output).
+ .. warning:: On macOS the use of this function is unsafe when mixed with using
+ higher-level system APIs, and that includes using :mod:`urllib.request`.
+
.. function:: openpty()
The `Requests package <https://requests.readthedocs.io/en/master/>`_
is recommended for a higher-level HTTP client interface.
+.. warning::
+
+ On macOS it is unsafe to use this module in programs using
+ :func:`os.fork` because the :func:`getproxies` implementation for
+ macOS uses a higher-level system API. Set the environment variable
+ ``no_proxy`` to ``*`` to avoid this problem
+ (e.g. ``os.environ["no_proxy"] = "*"``).
+
.. include:: ../includes/wasm-notavail.rst
The :mod:`urllib.request` module defines the following functions: