From owner-freebsd-current Tue Aug 13 12:56:30 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA06730 for current-outgoing; Tue, 13 Aug 1996 12:56:30 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id MAA06724 for ; Tue, 13 Aug 1996 12:56:27 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.12/8.6.9) id FAA20954; Wed, 14 Aug 1996 05:55:43 +1000 Date: Wed, 14 Aug 1996 05:55:43 +1000 From: Bruce Evans Message-Id: <199608131955.FAA20954@godzilla.zeta.org.au> To: freebsd-current@FreeBSD.org, j@uriah.heep.sax.de Subject: Re: locking up Sender: owner-current@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk >> In polled mode, pcrint() reduces to sgetc(). sgetc() has too many cases >> for me to understand. It seems to return too early in some cases, but not >> when Debugger() is called. >It only returns early if `noblock' is specified. (It returns NULL in >that case.) Otherwise, it loops again instead. `noblock' is always set in the calls from pcrint(), so this guarantees that there is a problem if sgetc() is actually called from pcrint(). I think the first call (for the !PCVT_KBD_FIFO case) never occurs (pcrint() is always blocked when kbd_polling != 0). scgetc() also seems to return early in all cases when XSERVER != 0. I think there is a problem iff PCVT_KBD_FIFO != 0. Bruce