Beispiel #1
0
 def msg(self, message):
     """
     Print *message*.
     """
     with self._lock:
         until_not_interrupted(self._write, message + "\n")
         until_not_interrupted(self._flush)
Beispiel #2
0
 def msg(self, message: bytes) -> None:
     """
     Write *message*.
     """
     with self._lock:
         until_not_interrupted(self._write, message + b"\n")
         until_not_interrupted(self._flush)
Beispiel #3
0
 def msg(self, message):
     """
     Print *message*.
     """
     with self._lock:
         until_not_interrupted(self._write, message + "\n")
         until_not_interrupted(self._flush)
Beispiel #4
0
    def test_retries_on_EINTR(self):
        calls = [0]

        def raise_on_first_three():
            if calls[0] < 3:
                calls[0] += 1
                raise IOError(errno.EINTR)

        until_not_interrupted(raise_on_first_three)

        assert 3 == calls[0]
Beispiel #5
0
 def __call__(self, eventDict):
     until_not_interrupted(self._write, textFromEventDict(eventDict) + "\n")
     until_not_interrupted(self._flush)
Beispiel #6
0
 def test_leaves_unrelated_exceptions_through(self):
     exc = IOError
     with pytest.raises(exc):
         until_not_interrupted(raiser(exc('not EINTR')))
Beispiel #7
0
 def test_passes_arguments_and_returns_return_value(self):
     def returner(*args, **kw):
         return args, kw
     assert ((42,), {'x': 23}) == until_not_interrupted(returner, 42, x=23)
Beispiel #8
0
 def msg(self, message):
     """
     Print *message*.
     """
     until_not_interrupted(self._write, message + '\n')
     until_not_interrupted(self._flush)
Beispiel #9
0
 def __call__(self, eventDict):
     until_not_interrupted(self._write, textFromEventDict(eventDict) + '\n')
     until_not_interrupted(self._flush)