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.


FS#187 - POV-Ray 3.70 ignores SIGTSTP signal, noisy on SIGWINCH signal

Attached to Project: POV-Ray
Opened by Joel Yliluoma (Bisqwit) - Wednesday, 05 January 2011, 13:35 GMT
Last edited by Thorsten Fröhlich (thorsten) - Tuesday, 23 August 2011, 05:24 GMT
Task Type Feature Request
Category Frontend
Status Closed
Assigned To Chris Cason (chrisc)
Operating System Unix
Severity Low
Priority Normal
Reported Version 3.70 beta 41
Due in Version 3.70 RC2
Due Date 2011-01-08
Percent Complete 100%
Votes 0
Private No


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.

This task depends upon

Closed by  Thorsten Fröhlich (thorsten)
Tuesday, 23 August 2011, 05:24 GMT
Reason for closing:  Implemented
Comment by Chris Cason (chrisc) - Wednesday, 05 January 2011, 14:36 GMT

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.

Comment by Grimbert Jérôme (Le_Forgeron) - Wednesday, 05 January 2011, 18:28 GMT

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.