# Queries regarding signal usage in Ruby 1.9 implementation

**URL:** <https://www.ruby-forum.com/t/queries-regarding-signal-usage-in-ruby-1-9-implementation/122085>\
**Category:** Ruby\
**Created:** [December 4, 2007, 2:49pm UTC](https://www.ruby-forum.com/t/queries-regarding-signal-usage-in-ruby-1-9-implementation/122085 "2007-12-04T14:49:27Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![chirag\_mistry\_ruby](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/ec9cab/32.png) [@chirag\_mistry\_ruby](https://www.ruby-forum.com/u/chirag_mistry_ruby)\
**Post date:** [December 4, 2007, 2:49pm UTC](https://www.ruby-forum.com/t/queries-regarding-signal-usage-in-ruby-1-9-implementation/122085/1 "2007-12-04T14:49:27Z")

</div>

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.
