Exemple #1
0
    def recover(self):
        if self._inflight is not None:
            self._inflight.abort(errors.WorkerDied, errors.WorkerDied())
            self._inflight = None

        greenhouse.end(self._collector)
        self._close_pipes()
        self.start()
Exemple #2
0
    def test_end_permits_dead_glets(self):
        @greenhouse.schedule
        @greenhouse.greenlet
        def g():
            pass

        greenhouse.pause()

        # no assert, just make sure we don't raise
        greenhouse.end(g)
Exemple #3
0
    def test_end_permits_dead_glets(self):
        @greenhouse.schedule
        @greenhouse.greenlet
        def g():
            pass

        greenhouse.pause()

        # no assert, just make sure we don't raise
        greenhouse.end(g)
Exemple #4
0
    def test_end(self):
        l = [False]

        @greenhouse.schedule
        @greenhouse.greenlet
        def glet():
            greenhouse.pause()
            l[0] = True

        greenhouse.pause()
        greenhouse.end(glet)

        greenhouse.pause()

        assert not l[0]
Exemple #5
0
    def test_end(self):
        l = [False]

        @greenhouse.schedule
        @greenhouse.greenlet
        def glet():
            greenhouse.pause()
            l[0] = True

        greenhouse.pause()
        greenhouse.end(glet)

        greenhouse.pause()

        assert not l[0]
Exemple #6
0
def main(environ, argv):
    finished = greenhouse.Event()
    backdoor = greenhouse.greenlet(run_backdoor, args=(finished,))
    greenhouse.schedule(backdoor)

    # nothing in run_backdoor blocks until it succeeds in
    # getting a port, so this can just be a simple pause
    greenhouse.pause()

    telnet = subprocess.Popen(['telnet', '127.0.0.1', str(BACKDOOR_PORT)])
    rc = telnet.wait()

    greenhouse.end(backdoor)
    finished.wait()
    return rc
Exemple #7
0
 def close(self):
     send_req(self.writepipe, CMD_CLOSE, None, None)
     greenhouse.end(self._collector)
Exemple #8
0
 def int_handler(signum, frame):
     greenhouse.end(speaker_glet)