File tree Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -29,15 +29,16 @@ class TimeoutError(Exception):
2929# "Yield" once, then raise StopIteration
3030class SingletonGenerator :
3131 def __init__ (self ):
32- self .state = 0
32+ self .state = None
3333 self .exc = StopIteration ()
3434
3535 def __iter__ (self ):
3636 return self
3737
3838 def __next__ (self ):
39- if self .state :
40- self .state = 0
39+ if self .state is not None :
40+ _task_queue .push_sorted (cur_task , self .state )
41+ self .state = None
4142 return None
4243 else :
4344 self .exc .__traceback__ = None
@@ -47,8 +48,8 @@ def __next__(self):
4748# Pause task execution for the given time (integer in milliseconds, uPy extension)
4849# Use a SingletonGenerator to do it without allocating on the heap
4950def sleep_ms (t , sgen = SingletonGenerator ()):
50- _task_queue . push_sorted ( cur_task , ticks_add ( ticks (), t ))
51- sgen .state = 1
51+ assert sgen . state is None
52+ sgen .state = ticks_add ( ticks (), t )
5253 return sgen
5354
5455
You can’t perform that action at this time.
0 commit comments