mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-04-15 18:18:05 -05:00

The SS_SIGFOO family are implemented by sending a signal directly to the pid of the immediate child process. I had had the vague idea that it might be more desirable to send the specified signal to the foreground process group in the tty. That way, you'd be able to SIGINT (say) the foreground job in a shell session, and return to the shell _prompt_ without terminating the whole session, and you could do this in an emergency even if the job was a full-screen application which had configured termios so that no keystroke generated SIGINT. But as far as I can see there's no actual way to do that. I wasn't able to find any ioctl or termios call to send a signal to a pty's foreground pgrp, and you can't even do it manually via kill(2) because first you'd have to find out what the pgrp id _is_, and according to the man pages, you can only call tcgetpgrp on the slave end of the pty and even then only if it's your controlling terminal. So SS_SIGFOO goes to the child process, because that's the only place I can find that I _can_ send it to sensibly. SS_BRK translates to tcsendbreak, of course (though I haven't actually seen any effect of calling this on a pty master, not even if I set PARMRK on the slave end which by my understanding _ought_ to show me when break events occur).