Queries regarding signal usage in Ruby 1.9 implementation

We have gone through the code of Ruby 1.9 implementation. I have some
queries at some places regarding the signal usages in the code.

  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. As SIGVTALRM is not used in this version
    (Ruby 1.9), will it be removed from the Ruby 1.9 implementation?

  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). As per our understanding, 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. If my understanding is correct then this defect is need to be
    fixed with Ruby 1.9 release.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs