File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed
Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change 1010IO_READ = 1
1111IO_WRITE = 2
1212
13+ type_gen = type ((lambda : (yield ))())
1314
1415class EventLoop :
1516
@@ -60,9 +61,9 @@ def run_forever(self):
6061 try :
6162 if args == ():
6263 args = (None ,)
63- log .debug ("Gen send args: %s" , args )
64+ log .debug ("Gen %s send args: %s" , cb , args )
6465 ret = cb .send (* args )
65- log .debug ("Gen yield result: %s" , ret )
66+ log .debug ("Gen %s yield result: %s" , cb , ret )
6667 if isinstance (ret , SysCall ):
6768 if isinstance (ret , Sleep ):
6869 delay = ret .args [0 ]
@@ -79,6 +80,11 @@ def run_forever(self):
7980 self .remove_reader (ret .obj .fileno ())
8081 elif ret .op == IO_WRITE :
8182 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
8288 except StopIteration as e :
8389 log .debug ("Gen finished: %s" , cb )
8490 continue
You can’t perform that action at this time.
0 commit comments