2

Bit of a long shot...

I'm executing a long-running process that takes several hours. The process is the re-indexing of the CDDB database's fuzzy matching file. The process keeps quitting after a while, although the length of time is variable:

# /usr/local/bin/cddbd -fdv
Generating the fuzzy matching hash file.
Scanning /home/freedb/cddb/soundtrack.
Scanning /home/freedb/cddb/lost+found.
Scanning /home/freedb/cddb/jazz.
Scanning /home/freedb/cddb/data.
Scanning /home/freedb/cddb/rock.
Scanning /home/freedb/cddb/reggae.
Scanning /home/freedb/cddb/newage.
Scanning /home/freedb/cddb/folk.
Scanning /home/freedb/cddb/misc.
Received signal 28.
Quitting, status 1.

The output is from the CDDB process. I had never seen signal 28 before, and after some research there are two possibilities: a "window size change" (although that appears to be BSD or Sun Unix only) or "Virtual alarm clock" (BSD only). I'm running this in Ubuntu...

So I wondered, ignoring the fact that I shouldn't be getting these on Linux anyway, could screen be issuing "window size change" signals?

As I said, a bit of a long shot!

0

1 Answer 1

3

A quick read of the source-code for screen shows that it would send SIGWINCH when you attach to a session, to tell programs that they should recheck the terminal's width×height. That's in attacher.c.

SIGWINCH has always existed on Linux – signal(7) merely says "4.3BSD, Sun" because that's when the signal was introduced, as part of pseudo-tty support.

2
  • Thanks. Interesting. Although I think this was occurring a long time after detaching, in the middle of the night. No-one else (that I know of!) has access to this machine. It's a bit annoying that the process just quits when this happens... Jan 28, 2016 at 15:41
  • Programs really shouldn't be quitting on SIGWINCH, either; the correct behavior is either to redraw the screen (if you're curses) or ignore it (if not). This might be worth reporting to the maintainer of cddbd.
    – Tom Hunt
    Jan 28, 2016 at 16:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .