Defects related to signal usage in Ruby 1.9 implementation

C

Chirag Mistry

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top