fix failing VPI callbacks the vpip_cur_task was left dangling
This commit is contained in:
parent
6e5558e67d
commit
c79df7c44b
|
|
@ -316,7 +316,9 @@ void sync_cb::run_run()
|
|||
if (cur->cb_data.cb_rtn != 0) {
|
||||
assert(vpi_mode_flag == VPI_MODE_NONE);
|
||||
vpi_mode_flag = sync_flag? VPI_MODE_ROSYNC : VPI_MODE_RWSYNC;
|
||||
vpip_cur_task = dynamic_cast<__vpiSysTaskCall*>(cur->cb_data.obj);
|
||||
(cur->cb_data.cb_rtn)(&cur->cb_data);
|
||||
vpip_cur_task = 0;
|
||||
vpi_mode_flag = VPI_MODE_NONE;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -978,6 +978,7 @@ void vpip_execute_vpi_call(vthread_t thr, vpiHandle ref)
|
|||
else if (sysfunc_vec4*func_vec4 = dynamic_cast<sysfunc_vec4*>(ref)) {
|
||||
vthread_push_vec4(thr, func_vec4->return_value());
|
||||
}
|
||||
vpip_cur_task = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in New Issue