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

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

7 statements  

1from __future__ import annotations 

2 

3from collections.abc import AsyncIterator 

4from contextlib import AbstractContextManager 

5from signal import Signals 

6 

7from ._eventloop import get_async_backend 

8 

9 

10def open_signal_receiver( 

11 *signals: Signals, 

12) -> AbstractContextManager[AsyncIterator[Signals]]: 

13 """ 

14 Start receiving operating system signals. 

15 

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

17 :return: an asynchronous context manager for an asynchronous iterator which yields 

18 signal numbers 

19 

20 .. warning:: Windows does not support signals natively so it is best to avoid 

21 relying on this in cross-platform applications. 

22 

23 .. warning:: On asyncio, this permanently replaces any previous signal handler for 

24 the given signals, as set via :meth:`~asyncio.loop.add_signal_handler`. 

25 

26 """ 

27 return get_async_backend().open_signal_receiver(*signals)