File tree 1 file changed +8
-2
lines changed
1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change 10
10
IO_READ = 1
11
11
IO_WRITE = 2
12
12
13
+ type_gen = type ((lambda : (yield ))())
13
14
14
15
class EventLoop :
15
16
@@ -60,9 +61,9 @@ def run_forever(self):
60
61
try :
61
62
if args == ():
62
63
args = (None ,)
63
- log .debug ("Gen send args: %s" , args )
64
+ log .debug ("Gen %s send args: %s" , cb , args )
64
65
ret = cb .send (* args )
65
- log .debug ("Gen yield result: %s" , ret )
66
+ log .debug ("Gen %s yield result: %s" , cb , ret )
66
67
if isinstance (ret , SysCall ):
67
68
if isinstance (ret , Sleep ):
68
69
delay = ret .args [0 ]
@@ -79,6 +80,11 @@ def run_forever(self):
79
80
self .remove_reader (ret .obj .fileno ())
80
81
elif ret .op == IO_WRITE :
81
82
self .remove_writer (ret .obj .fileno ())
83
+ elif isinstance (ret , type_gen ):
84
+ self .call_soon (ret )
85
+ else :
86
+ print (ret , type (ret ))
87
+ assert False
82
88
except StopIteration as e :
83
89
log .debug ("Gen finished: %s" , cb )
84
90
continue
You can’t perform that action at this time.
0 commit comments