Exemple #1
0
    def test_timeout_cancel(self):
        server = eventlet.listen(('0.0.0.0', 0))
        bound_port = server.getsockname()[1]

        done = [False]

        def client_closer(sock):
            while True:
                (conn, addr) = sock.accept()
                conn.close()

        def go():
            desc = eventlet.connect(('127.0.0.1', bound_port))
            try:
                api.trampoline(desc, read=True, timeout=0.1)
            except api.TimeoutError:
                assert False, "Timed out"

            server.close()
            desc.close()
            done[0] = True

        greenthread.spawn_after_local(0, go)

        server_coro = api.spawn(client_closer, server)
        while not done[0]:
            api.sleep(0)
        api.kill(server_coro)

        check_hub()
Exemple #2
0
    def test_timeout_cancel(self):
        server = eventlet.listen(('0.0.0.0', 0))
        bound_port = server.getsockname()[1]

        done = [False]

        def client_closer(sock):
            while True:
                (conn, addr) = sock.accept()
                conn.close()

        def go():
            desc = eventlet.connect(('127.0.0.1', bound_port))
            try:
                api.trampoline(desc, read=True, timeout=0.1)
            except api.TimeoutError:
                assert False, "Timed out"

            server.close()
            desc.close()
            done[0] = True

        greenthread.spawn_after_local(0, go)

        server_coro = api.spawn(client_closer, server)
        while not done[0]:
            api.sleep(0)
        api.kill(server_coro)

        check_hub()
Exemple #3
0
    def enter(self, entry, eta=None, priority=0):
        try:
            timer2.to_timestamp(eta)
        except OverflowError:
            if not self.handle_error(sys.exc_info()):
                raise

        now = time()
        if eta is None:
            eta = now
        secs = eta - now

        g = spawn_after_local(secs, entry)
        self._queue.add(g)
        g.link(self._entry_exit, entry)
        g.entry = entry
        g.eta = eta
        g.priority = priority
        g.cancelled = False

        return g
Exemple #4
0
 def _spawn(self):
     self.g = greenthread.spawn_after_local(self.interval, self)
     self.g.link(self._exit)
Exemple #5
0
 def func():
     greenthread.spawn_after_local(0.1, self.lst.pop)
 def func():
     greenthread.spawn_after_local(0.1, self.lst.pop)
 def sync(self, delay_seconds=10):
     self._gt = greenthread.spawn_after_local(delay_seconds, self.do_sync)
Exemple #8
0
 def _spawn(self):
     self.g = greenthread.spawn_after_local(self.interval, self)
     self.g.link(self._exit)