[HN Gopher] The evolving Unix attitudes on handling signals in y...
       ___________________________________________________________________
        
       The evolving Unix attitudes on handling signals in your code
        
       Author : ingve
       Score  : 36 points
       Date   : 2023-07-03 06:28 UTC (16 hours ago)
        
 (HTM) web link (utcc.utoronto.ca)
 (TXT) w3m dump (utcc.utoronto.ca)
        
       | skissane wrote:
       | POSIX could make everyone's life easier if there was a standard
       | facility to make signals run on dedicated "signal handling
       | threads". If my SIGINT handler has its own thread that only ever
       | runs that handler (and never runs it re-enterantly), most of
       | these safety issues go away. It is possible to implement that
       | now, but it would be a lot easier if it were just a feature of
       | the C library-and unlike other solutions like the self-pipe
       | trick, the coding model is essentially unchanged (no assumption
       | the program has an event loop). That doesn't really work for
       | inherently thread-specific signals such as SIGSEGV, but far fewer
       | people are interested in handling those
        
       | hulitu wrote:
       | > The evolving Unix attitudes on handling signals in your code
       | 
       | The evolving "Unix attitudes" became non Unix. Bloat is
       | everywhere in Linux.
        
         | sophacles wrote:
         | What do you mean by bloat? I find each person has a different
         | definition. Can you also provide some examples?
        
         | NoZebra120vClip wrote:
         | > The evolving "Unix attitudes" became non Unix. Bloat is
         | everywhere in Linux.
         | 
         | I'm not sure what you mean. The point of the article is to
         | explain that older implementations played fast and loose with
         | signal handlers that might do all sorts of operations that
         | turned out to be unsafe. As Chris points out, the current POSIX
         | standard is very constrained! You call some specific functions,
         | you set a flag, you GTFO.
         | 
         | So I don't know what you are on about regarding bloat, because
         | if anything in Unix has slimmed down since V7, it's signal
         | handlers (see also the discussion about Bourne shell exploiting
         | SIGSEGV to allocate memory.)
        
       ___________________________________________________________________
       (page generated 2023-07-03 23:00 UTC)