lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LYNX-DEV signal handling


From: Foteos Macrides
Subject: Re: LYNX-DEV signal handling
Date: Tue, 18 Feb 1997 14:14:29 -0500 (EST)

Bela Lubkin <address@hidden> wrote:
>Foteos Macrides wrote:
>
>>      exit() is a macro in Lynx which invokes a great deal of additional
>> code.  SIGINT is used on VMS, despite the inference Bela drew from those
>> code snippets.  The signal and exit handling in Lynx are very complex,
>> too complex to explain in an email message.  It might be a good idea if
>> both of you built a debug version and walked through all that is happened
>> before modifying any of it based on inspections of snippets.
>
>I've looked through the code fairly extensively for signal handling
>behavior.  I was only asking about that sample and did not intend to
>imply that VMS never used SIGINT.  I'm aware of the different SIGINT
>handling under VMS, and have dealt with it in what seems like a workable
>manner.
>
>You are right that I had missed the exit() macro.  I see that it
>disables a lot of signals, but only if LYOutOfMemory.  Again, I'd like
>to ask you about the rationale for this (the code says FM all over it).
>More to the point: I understand why you might want to ignore signals
>during shutdown.  But then why do you re-enable some (but not all) part
>way through?

        It's really too hairy to explain in words, or to remember without
walking through it with a debugger a few times to refresh one's memory.
It's basically the evolution over many years of different design principles,
plus patches to make it actually work for one or another flavor, that may
or may not still be necessary for those flavors.

        Lou originally wrote Lynx to treat interrupts as forced exits,
normally, and as cancels under some circumstances.  That struck me as
too confusing for the average users (they can't be sure what the
consequence will be at one time versus another), so for VMS I made
interrupts a prompted "Do you really want to quit?" signal, and a
cancel (if possible at that point in whatever Lynx is doing) if the
user doesn' reply 'y'es.  Lou didn't want to make it work that way
for Unix too, so that was the start of ifdefing for different design
principles.  I suspect most Unix folks would prefer the VMS behavior
(Larry has indicated that preference a number of times).  Then it got
hairier when the XMosaic select-based interrupts were added to Lynx
as it's 'z'ap command.  Plus there's hairy code for deciding whether
to put up a "You found a bug." screen.  Plus there's hairiness to
make sure it works whether or not the image was built with LY_FIND_LEAKS
defined. ...

                                Fote

=========================================================================
 Foteos Macrides            Worcester Foundation for Biomedical Research
 address@hidden         222 Maple Avenue, Shrewsbury, MA 01545
=========================================================================
;
; To UNSUBSCRIBE:  Send a mail message to address@hidden
;                  with "unsubscribe lynx-dev" (without the
;                  quotation marks) on a line by itself.
;

reply via email to

[Prev in Thread] Current Thread [Next in Thread]