Defects related to signal usage in Ruby 1.9 implementation

Hi

We have study the code of yarv (Ruby 1.9 implementation) and as per our
understanding there are few defects related to signal usage in Ruby 1.9
implementation. It would be better if all those defects are fixed.

  1. In file trunk/signal.c, at line number 788:
    SIGVTALRM seems a reserved signal in the ruby interpreter as per
    implementation of trap function of Signal module. But, we did not find
    any reference related with usage of this signal. In earlier versions of
    ruby, SIGVTALRM was used to implement cooperative multitasking (user
    space multithreading) and this signal was reserved for proper
    functioning of Thread module. So in Ruby 1.9, SIGVTALRM is not used any
    more. Empty signal handler is installed for SIGVTALRM in
    Init_native_thread() function.

  2. In file trunk/eval.c, at line number 144:
    In ruby_finalize_1 function, signal handler SIG_DFL is installed for
    SIGINT signal. It gets called automatically when ruby interpreter is
    unloaded (normally or abnormally).
    It may create problem when ruby interpreter is embedded in a process for
    a limited period of time. Because ruby_finalize_1 sets signal handler
    for SIGINT to SIG_DFL without checking previously installed signal
    handler.