delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1998/01/20/13:47:39

From: "Markus F.X.J. Oberhumer" <k3040e4 AT wildsau DOT idv-edu DOT uni-linz DOT ac DOT at>
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: <Pine.SUN.3.91.980118113605.18602A-100000@is> 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

> > - 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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019