`multiprocessing.dummy` exports names that were not yet listed in the typeshed stub:
```python
>>> from multiprocessing import dummy as mpdummy
>>> imported_objects = (
... (name, obj) for name, obj in vars(mpdummy).items()
... if name in mpdummy.__all__ and not obj.__module__.startswith("multiprocessing.dummy")
... )
>>> print(*(f"{name}: {obj.__module__}" for name, obj in sorted(imported_objects)), sep="\n")
Barrier: threading
BoundedSemaphore: threading
Condition: threading
Event: threading
JoinableQueue: queue
Lock: _thread
Queue: queue
RLock: threading
Semaphore: threading
current_process: threading
```
Of these, only `JoinableQueue` was listed.
find_module is documented to return a tuple (file, pathname,
description) where "file" is open file object and "description" a tuple
(suffix, mode, type). The type of "file" was wrong ("str" instead of
"IO[Any]") as well as that of "suffix" ("IO[Any]" instead of "str");
probably those type definitions were swapped.
Fixes#3466.
Fix errors discovered by running typeshed check on Windows. This is a temporary fix for #3446 (in long term we should figure out why these were not caught by typeshed CI).
I also remove an outdated comment while I am at it.
Until this is removed from the standard library, it probably should stay in the typing.
Also update both 2 and 3 definitions to use Mapping[Any, Any], rather than Dict[Any, Any].
* Add explicit ssl_handshake_timeout arguments to open_connection and start_server
* Add context arguments to call methods
* Accept PathLike for create_unix_* paths
* Add TimerHandle.when()
Add missing version check
* AbstractServer is now an async context manager
* Add happy_eyeballs_delay and interleave arguments to create_connection
* Re-export asyncio.windows_events from asyncio
* Add name argument to Task constructor
* Add Task.get_coro()
* import and other fixes
* Fix return type of get_coro()
* Add public missing asyncio stubs for windows and proactor files, and any necessary private return/argument types.
* Add methods to BaseProactorEventLoop that mypy is complaining about, with note about status at runtime
* Add asyncio constants file
* Make multiprocessing stubs match implementation
* Add multiprocessing.process.BaseProcess
* Use BaseProcess in multiprocessing.context where applicable
* Remove non-existing BaseContext.Process()
* Derive DefaultContext from BaseContext
* Fix BaseContext/DefaultContext.set_start_method() signatures
* Re-export multiprocessing.context.Process from multiprocessing,
instead of using a custom definition
* Re-export multiprocessing.active_from from multiprocessing.process
instead of using a custom definition
* Add parent_process() (Python 3.8)
* Complete BaseManager; add Server
* Add multiprocessing.shared_memory et al
* Add os.add_dll_directory()
* Add memfd_create() and flags
* Add type annotation to flags
* Add stat_result.st_reparse_tag and flags
* Add ncurses_version
* Add Path.link_to()
* Add Picker.reducer_override()
* Add plistlib.UID
* Add has_dualstack_ipv6() and create_server()
* Add shlex.join()
* Add SSL methods and fields
* Add Python 3.8 statistics functions and classes
* Remove obsolete sys.subversion
* Add sys.unraisablehook
* Add threading.excepthook
* Add get_native_id() and Thread.native_id
* Add Python 3.8 tkinter methods
* Add CLOCK_UPTIME_RAW
* Add SupportsIndex
* Add typing.get_origin() and get_args()
* Add unicodedata.is_normalized
* Add unittest.mock.AsyncMock
Currently this is just an alias for Any like Mock and MagicMock. All of
these classes should probably be sub-classing Any and add their own
methods. See also #3224.
* Add unittest cleanup methods
* Add IsolatedAsyncioTestCase
* Add ElementTree.canonicalize() and C14NWriterTarget
* cProfile.Profile can be used as a context manager
* Add asyncio task name handling
* mmap.flush() now always returns None
* Add posonlyargcount to CodeType