From: "Markus F.X.J. Oberhumer" Message-Id: <199801201826.TAA18032@wildsau.idv.uni-linz.ac.at> Subject: Re: Request for comments: SIGQUIT in DJGPP v2.02 To: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii) Date: Tue, 20 Jan 1998 19:26:00 +0100 (MET) Cc: k3040e4 AT wildsau DOT idv-edu DOT uni-linz DOT ac DOT at, dj AT delorie DOT com, djgpp-workers AT delorie DOT com In-Reply-To: from "Eli Zaretskii" at Jan 18, 98 11:36:45 am Return-Read-To: k3040e4 AT wildsau DOT idv DOT uni-linz DOT ac DOT at MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk > > - because many programs currently install SIGQUIT handlers out of > > paranoia, but none of them *wants* to receive SIGQUIT > > The question is not whether a program does or doesn't want to receive > SIGQUIT. The question is whether it will break something. If it doesn't > break anything important, it should IMHO be included because it is > supported on POSIX platforms. > > I fail to see how a program which installs a handler for SIGQUIT can be > broken by getting SIGQUIT. If you have an example of such a program, or > can imnagine such a situation, please tell me the details so I could think > about the possible problems. You're probably right (my imagination seems to suffer in these cold days... ;-) > > - because SIGQUIT keys are highly localized - I have to press > > the following 3 keys on my German keyboard (thanks Tom): > > Ctrl + AltGr (this is the right Alt) + sharp s (which is the '-' next > > to the '0' on an US keyboard) > > No, that's not how it works. The DJGPP keyboard handler works with scan > codes, not ASCII codes. So you get SIGQUIT when you press Ctrl and a key > whose scan code is 2Bh That's what I meant. I assume your current code looks like this (scancodes pressed): (0x1d || 0x61) && 0x2b (left or right ctrl) + '\' This is indeed Ctrl-# on my keyboard. What I need is: (0x11 || 0x61) && 0x64 && 0x0c (left or right ctrl) + right alt + '-' I'd bet this is again different in lots of other locales. > (unless you change the scan code which triggers > SIGQUIT by calling `__djgpp_set_sigquit_key'). Shouldn't this be termios c_cc[VQUIT] ? > > - because I'm not sure what is good for ;-) - why do yo need it, > > and why do you think that many programs need it ? > > IMHO the question is not what is it good for, but how bad is it not to > support it. > > a. SIGQUIT is POSIX. It's IMHO bad not to support POSIX features which > can be reasonably supported. We have and support SIGQUIT. The questions are: - should it be bound to a key by default ? - if yes, why shouldn't all programs receive it ? - how do solve localization ? - is termios ready for some real-world tasks ? > b. I saw two programs which use it. Any program which installs two > different handlers for SIGINT and SIGQUIT, with two different actions, > is impossible to port without some SIGQUIT support (short of installing > a customized hardware keyboard interrupt handler). Which are those programs, and what exactly are the different actions ? -- markus DOT oberhumer AT jk DOT uni-linz DOT ac DOT at THREE WARPS TO URANUS