The current RubySignal code directly references sun.* classes for Signal handling. This has two issues:
- these classes don't exist on all JVMs
- this causes deprecation errors on a number of JDKs and is warned against in many IDEs
The latter is par for the course and there's not really a way around it, but the former is a serious problem that prevents JRuby from loading on non-Sun-based JVMs.
The classes in question should be abstracted out so RubySignal can fail gracefully when they are not present. There should be no directly classloading requirement from JRuby to Sun-specific classes.
Some other things that not good with references to sun.misc:
1. Lots of warning during the build, they could hide real warnings.
2. ClassLoaders in security-sensitive environments (Applet, WebStart) are not permitted to load sun.misc.* classes.