lynx-dev
[Top][All Lists]
Advanced

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

Re: LYNX-DEV Control-Z and SIGSTOP mysteries


From: Kari E. Hurtta
Subject: Re: LYNX-DEV Control-Z and SIGSTOP mysteries
Date: Mon, 19 May 1997 21:52:06 +0300 (EDT)

Hiram Lester, Jr.:
> This particular binary was built with gcc using the snake target on HP-UX
> 9.07 and the standard curses package.  I'm having problems getting the
> vanilla code to even compile on 10.20 with gcc (snake3 works).  If I try
> ^Z when I first start up lynx, it doesn't work.  When I do a ^L, the
> cursor is moved to the top left corner of the screen, and nothing is
> displayed.  Hitting 'q' followed by a return or 'Q' or any other
> recognized way of quitting lynx does what it is supposed to do, so it
> would imply a display problem to me...
> 
> Is there anything I can do to help track down this problem?

Perhaps this is just feature of curses.
If curses sees that there is noprocessed keypoard input,
it stops updating to screen until next refresh.

Quotes from manual page of IRIX:

NAME
     curs_inopts:  cbreak, nocbreak, echo, noecho, halfdelay, intrflush,
     keypad, meta, nodelay, notimeout, raw, noraw, noqiflush, qiflush,
     timeout, wtimeout, typeahead - curses terminal input option control
     routines

SYNOPSIS
     #include <curses.h>

<...>

     int intrflush(WINDOW *win, bool bf);
     int keypad(WINDOW *win, bool bf);

     int meta(WINDOW *win, bool bf);
     int nodelay(WINDOW *win, bool bf);

     int notimeout(WINDOW *win, bool bf);
     int raw(void);

     int noraw(void);
     void noqiflush(void);

     void qiflush(void);
     void timeout(int delay);

     void wtimeout(WINDOW *win, int delay);
     int typeahead(int fd);


<...>
     If the intrflush option is enabled, (bf is TRUE), when an interrupt key
     is pressed on the keyboard (interrupt, break, quit) all output in the tty
     driver queue will be flushed, giving the effect of faster response to the
     interrupt, but causing curses to have the wrong idea of what is on the
     screen.  Disabling (bf is FALSE), the option prevents the flush.  The
     default for the option is inherited from the tty driver settings.  The
     window argument is ignored.
<...>
     When the noqiflush routine is used, normal flush of input and output
     queues associated with the INTR, QUIT and SUSP characters will not be
     done [see termio(7)].  When qiflush is called, the queues will be flushed
     when these control characters are read.
<...>
     curses does ``line-breakout optimization'' by looking for typeahead
     periodically while updating the screen.  If input is found, and it is
     coming from a tty, the current update is postponed until refresh or
     doupdate is called again.  This allows faster response to commands typed
     in advance.  Normally, the input FILE pointer passed to newterm, or stdin
     in the case that initscr was used, will be used to do this typeahead
     checking.  The typeahead routine specifies that the file descriptor fd is
     to be used to check for typeahead instead.  If fd is -1, then no
     typeahead checking is done.

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