(self, maxsize=0, *, ctx)
| 33 | class Queue(object): |
| 34 | |
| 35 | def __init__(self, maxsize=0, *, ctx): |
| 36 | if maxsize <= 0: |
| 37 | # Can raise ImportError (see issues #3770 and #23400) |
| 38 | from .synchronize import SEM_VALUE_MAX as maxsize |
| 39 | self._maxsize = maxsize |
| 40 | self._reader, self._writer = connection.Pipe(duplex=False) |
| 41 | self._rlock = ctx.Lock() |
| 42 | self._opid = os.getpid() |
| 43 | if sys.platform == 'win32': |
| 44 | self._wlock = None |
| 45 | else: |
| 46 | self._wlock = ctx.Lock() |
| 47 | self._sem = ctx.BoundedSemaphore(maxsize) |
| 48 | # For use by concurrent.futures |
| 49 | self._ignore_epipe = False |
| 50 | self._reset() |
| 51 | |
| 52 | if sys.platform != 'win32': |
| 53 | register_after_fork(self, Queue._after_fork) |
| 54 | |
| 55 | def __getstate__(self): |
| 56 | context.assert_spawning(self) |
no test coverage detected