Issue #22585: On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(),
instead of reading /dev/urandom, to get pseudo-random bytes.

--HG--
branch : 3.4
extra : source : 75ede5bec8dbb883324a59b5cec40adb0115cd74
fix behavior of trailing slash redirection when a query string is involved (closes #23112)

--HG--
branch : 3.4
extra : source : b058a904c6305f2f45855c5216fb1dc4797f7401
extra : amend_source : 47e36f9dbe8b69cab46c43d99a897fcb7a355e1e
merge 3.4 (#23112)
null merge 3.4
asyncio: sync with Tulip

* Fix pyflakes warnings: remove unused imports and variables
* asyncio.test_support now uses test.support and test.script_helper if available

--HG--
branch : 3.4
extra : histedit_source : cf24124be226b2ebfd7efbef7347549bf8c89ff3
Issue #22926: In debug mode, call_soon(), call_at() and call_later() methods of
asyncio.BaseEventLoop now use the identifier of the current thread to ensure
that they are called from the thread running the event loop.

Before, the get_event_loop() method was used to check the thread, and no
exception was raised when the thread had no event loop. Now the methods always
raise an exception in debug mode when called from the wrong thread. It should
help to notice misusage of the API.

--HG--
branch : 3.4
extra : histedit_source : f3875018ac18daae164a0869aa9f5e2f9dd5bcc0
Merge 3.4 (asyncio)
Neaten-up setobject.h
- Move all Py_LIMITED_API exclusions together under one #ifndef
- Group PyAPI_FUNC functions and PyAPI_DATA together.
- Bring related comments together and put them in the appropriate section.