diff options
author | gingold | 2008-07-22 01:27:07 +0000 |
---|---|---|
committer | gingold | 2008-07-22 01:27:07 +0000 |
commit | 1ab385604669206c3874218ae1471d66561a54c8 (patch) | |
tree | 3aa08c34367e6f1cb3edf08a3df0ce9c177ab9bc /translate | |
parent | 205582d0c16c41843976dd9bff9cf9a8ea0557df (diff) | |
download | ghdl-1ab385604669206c3874218ae1471d66561a54c8.tar.gz ghdl-1ab385604669206c3874218ae1471d66561a54c8.tar.bz2 ghdl-1ab385604669206c3874218ae1471d66561a54c8.zip |
Remove timeout at the end of a wait statement.
Diffstat (limited to 'translate')
-rw-r--r-- | translate/grt/grt-processes.adb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/translate/grt/grt-processes.adb b/translate/grt/grt-processes.adb index de76174..650c0f0 100644 --- a/translate/grt/grt-processes.adb +++ b/translate/grt/grt-processes.adb @@ -298,6 +298,8 @@ package body Grt.Processes is -- Cur_Proc.Timeout := Std_Time'Last; -- end if; Stack_Switch (Get_Main_Stack, Proc.Stack); + -- Note: in case of timeout, the timeout is removed when processis is + -- woken up. return Proc.State = State_Timeout; end Ghdl_Process_Wait_Suspend; @@ -307,6 +309,7 @@ package body Grt.Processes is El : Sensitivity_Acc; N_El : Sensitivity_Acc; begin + -- Remove the sensitivity. El := Proc.Sensitivity; Proc.Sensitivity := null; while El /= null loop @@ -314,6 +317,8 @@ package body Grt.Processes is Free (El); El := N_El; end loop; + -- Remove the timeout. + Proc.Timeout := Bad_Time; end Ghdl_Process_Wait_Close; procedure Ghdl_Process_Wait_Exit |