| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 | |
def __init__(self, gateway): |
self.channel = gateway.remote_exec(''' |
from py.magic import greenlet |
glob = {"greenlet": greenlet} |
gids = {} |
while True: |
key, code, args = channel.receive() |
if args is not None: |
if code is not None: |
def run(code=code): |
exec code in glob, {} |
gids[key] = greenlet(run) |
result = gids[key].switch(*args) |
channel.send(result) |
else: |
del gids[key] |
-> ''') | |