Python 停止cocotb分叉协程

Python 停止cocotb分叉协程,python,coroutine,cocotb,Python,Coroutine,Cocotb,我有一个共同计划,等待信号上升: 我将在我的«main»测试函数中启动它,如下所示: 我想在一段时间后停止,即使没有信号上升。我试图“杀死”它: 但例外情况是: 是否有一种解决方案可以正确停止分叉协同程序?这看起来与中的问题完全相同-您可以订阅该问题,以便在其状态更改时收到通知。若要保存某个人的单击,现在已修复 @cocotb.coroutine def wait_for_rise(self): yield RisingEdge(self.dut.mysignal) mythr

我有一个共同计划,等待信号上升:

我将在我的«main»测试函数中启动它,如下所示:

我想在一段时间后停止,即使没有信号上升。我试图“杀死”它:

但例外情况是:


是否有一种解决方案可以正确停止分叉协同程序?

这看起来与中的问题完全相同-您可以订阅该问题,以便在其状态更改时收到通知。

若要保存某个人的单击,现在已修复
@cocotb.coroutine
def wait_for_rise(self):
    yield RisingEdge(self.dut.mysignal)
mythread = cocotb.fork(wait_for_rise())
mythread.kill()
Send raised exception: 'RunningCoroutine' object has no attribute '_join'
                       File "/opt/cocotb/cocotb/decorators.py", line 121, in send
                         return self._coro.send(value)
                       File "/myproject.py", line 206, in i2c_read
                         wTXDRwthread.kill()
                       File "/opt/cocotb/cocotb/decorators.py", line 151, in kill
                         cocotb.scheduler.unschedule(self)
                       File "/opt/cocotb/cocotb/scheduler.py", line 453, in unschedule
                         if coro._join in self._trigger2coros: