The Persistence of Vision Raytracer (POV-Ray).
This is the legacy Bug Tracking System for the POV-Ray project. Bugs listed here are being migrated to our github issue tracker. Please refer to that for new reports or updates to existing ones on this system.
Opened by Joel Yliluoma - 2011-01-05
Last edited by Thorsten Fröhlich - 2011-08-23
FS#187 - POV-Ray 3.70 ignores SIGTSTP signal, noisy on SIGWINCH signal
When POV-Ray 3.70 is run on a terminal, on an unix shell, and the user hits ctrl-Z to suspend (stop) POV-Ray, rather than stopping as expected, POV-Ray just reports that it did receive the signal, as if to laugh at the user “I’m not obeying your puny stop attempts”. It
The default action (as happens if the SIGTSTP signal is not trapped) would be much better, and is usually safe also in multithread programs.
It takes actual effort to _ignore_ the TSTP signal (namely, to trap that signal), so the current behavior is definitely a dysfeature, probably an oversight by whoever programmed the signal handler.
Also, when the terminal window is resized, POV-Ray needlessly reports that it received a signal number so-and-so (the number of SIGWINCH), adding irrelevant noise to its terminal output. Both signals (SIGTSTP and SIGWINCH) should simply be excluded from the signal trapping mask. I guess there are also other signals that are needlessly captured. It would be better to capture only those signals that an action is needed for.
There is some signal-handling code in the unix version that is related to the threading and which attempts to do a graceful shutdown upon receipt of certain signals. The fact it captures and ignores SIGTSTP is almost certainly accidental, and the printing of signal numbers seems to be a debug leftover. We don't have a unix developer at the moment so I can't really say what the real intent was. Either way, I have modified the source to no longer trap all signals, just the ones it needs, and have confirmed that suspend now works and it doesn't print warnings on re-size.
Tested on linux (RC2/#5347 from source) 64 bits: resizing the xterm does not produce any more any message (good).
Suspending state (ctrl+z) is also available and fine.