Project

General

Profile

Bug #18375

Updated by zw963 (Wei Zheng) almost 3 years ago

Following is a example for describe this issue. 

 ```rb 
 class DelayError < Exception 
 end 

 Timeout.timeout(2, DelayError) do |arg| 
   puts 'start' 
   sleep 10 
 rescue DelayError 
   puts '*'*10 
   retry 
 end 
 ``` 

 Will output 

 ``` 
 start 
 ********** 
 start 
 ``` 

 What i expected is: 

 ``` 
 start 
 ********** 
 start 
 ********** 
 start 
 ********** 
 ... 
 ``` 

 Basically, what i expected equivalent is: 

 ```rb 
 begin 
   Timeout.timeout(2) do |arg| 
     puts 'start' 
     sleep 10 
   end 
 rescue TimeoutError 
   puts '*'*10 
   retry 
 end 
 ```

Back