Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/anyio/_core/_signals.py: 83%

6 statements  

« prev     ^ index     » next       coverage.py v7.2.7, created at 2023-06-07 07:19 +0000

1from __future__ import annotations 

2 

3from typing import AsyncIterator 

4 

5from ._compat import DeprecatedAsyncContextManager 

6from ._eventloop import get_asynclib 

7 

8 

9def open_signal_receiver( 

10 *signals: int, 

11) -> DeprecatedAsyncContextManager[AsyncIterator[int]]: 

12 """ 

13 Start receiving operating system signals. 

14 

15 :param signals: signals to receive (e.g. ``signal.SIGINT``) 

16 :return: an asynchronous context manager for an asynchronous iterator which yields signal 

17 numbers 

18 

19 .. warning:: Windows does not support signals natively so it is best to avoid relying on this 

20 in cross-platform applications. 

21 

22 .. warning:: On asyncio, this permanently replaces any previous signal handler for the given 

23 signals, as set via :meth:`~asyncio.loop.add_signal_handler`. 

24 

25 """ 

26 return get_asynclib().open_signal_receiver(*signals)