blocking call, return after close/cancel is done.
(self, timeout=None)
| 70 | self._condition.release() |
| 71 | |
| 72 | def close(self, timeout=None): |
| 73 | """ blocking call, return after close/cancel is done. |
| 74 | """ |
| 75 | undoneJobs = [] |
| 76 | self._condition.acquire() |
| 77 | if self._status == 'DONE': |
| 78 | self._condition.release() |
| 79 | return |
| 80 | |
| 81 | self._status = 'DONE' |
| 82 | self._condition.notifyAll() |
| 83 | while not self._queue.empty(): |
| 84 | undoneJobs.append(self._queue.get()) |
| 85 | self._condition.release() |
| 86 | self.join(timeout) |
| 87 | return undoneJobs |
| 88 | |
| 89 | def pause(self, timeout=None): |
| 90 | """ non-blocking call. |
no test coverage detected