This issue was solved with changeset r44523.
Nobuyoshi, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
lib/timeout.rb: fallback to Timeout::Error
lib/timeout.rb (Timeout::ExitException.catch): pass arguments
for new instance.
lib/timeout.rb (Timeout::ExitException#exception): fallback to
Timeout::Error if couldn't throw. [ruby-dev:47872] [Bug #9380]
lib/timeout.rb (Timeout#timeout): initialize ExitException with
message for the fallback case.