Callbacks can happen during calltf functions.
This commit is contained in:
parent
a1774bd3bd
commit
450b9ab85c
|
|
@ -17,7 +17,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT)
|
#if !defined(WINNT)
|
||||||
#ident "$Id: vpi_callback.cc,v 1.17 2002/05/19 05:18:16 steve Exp $"
|
#ident "$Id: vpi_callback.cc,v 1.18 2002/05/28 22:55:20 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -416,14 +416,14 @@ int vpi_remove_cb(vpiHandle ref)
|
||||||
|
|
||||||
void callback_execute(struct __vpiCallback*cur)
|
void callback_execute(struct __vpiCallback*cur)
|
||||||
{
|
{
|
||||||
assert(vpi_mode_flag == VPI_MODE_NONE);
|
const vpi_mode_t save_mode = vpi_mode_flag;
|
||||||
vpi_mode_flag = VPI_MODE_RWSYNC;
|
vpi_mode_flag = VPI_MODE_RWSYNC;
|
||||||
|
|
||||||
cur->cb_data.time->type = vpiSimTime;
|
cur->cb_data.time->type = vpiSimTime;
|
||||||
vpip_time_to_timestruct(cur->cb_data.time, schedule_simtime());
|
vpip_time_to_timestruct(cur->cb_data.time, schedule_simtime());
|
||||||
(cur->cb_data.cb_rtn)(&cur->cb_data);
|
(cur->cb_data.cb_rtn)(&cur->cb_data);
|
||||||
|
|
||||||
vpi_mode_flag = VPI_MODE_NONE;
|
vpi_mode_flag = save_mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -459,6 +459,9 @@ void callback_functor_s::set(vvp_ipoint_t, bool, unsigned val, unsigned)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: vpi_callback.cc,v $
|
* $Log: vpi_callback.cc,v $
|
||||||
|
* Revision 1.18 2002/05/28 22:55:20 steve
|
||||||
|
* Callbacks can happen during calltf functions.
|
||||||
|
*
|
||||||
* Revision 1.17 2002/05/19 05:18:16 steve
|
* Revision 1.17 2002/05/19 05:18:16 steve
|
||||||
* Add callbacks for vpiNamedEvent objects.
|
* Add callbacks for vpiNamedEvent objects.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue