www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/04/19/07:18:46

Date: Sun, 19 Apr 1998 14:17:19 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: HANRIGOU Philippe <HANRIGOU AT cgste DOT mq>
cc: DJGPP <djgpp AT delorie DOT com>
Subject: Re: Problem with bash
In-Reply-To: <35379A34.4E7E@CGSTE.MQ>
Message-ID: <Pine.SUN.3.91.980419141654.23362M-100000@is>
MIME-Version: 1.0

On Fri, 17 Apr 1998, HANRIGOU Philippe wrote:

> >  It seems that the
> > problem is somewhere inside `__libc_termios_read' or its subroutines.
> 
> You're right. More precisely at first call to __dpmi_yield in function
> __libc_termios_read_cooked_tty.

__dpmi_yield is supposed to be pretty harmless.  It just yields the
rest of the current time slice so other programs get CPU control.
Strange...

Okay, here's a few things I'd suggest to try:

First, make sure it's really __dpmi_yield that gets you.  Just comment
the call to it out, rebuild Bash and see if the problem goes away.

If __dpmi_yield *is* the problem, please look at the property sheets
of your DOS box, in the "Misc" tab, and tell what are your settings
there.  Next, try playing with the "Idle Sensitivity" setting and see
if that helps (mine is set to the lowest sensitivity).  You will need
to restart the DOS box after every change.

Also, see whether your %windir%/system.ini file has an
IdleVMWakeUpTime setting somewhere.  If it does, please tell what does
it say.

If nothing above seems to help or provide any clues, one other thing
to try would be to insert some code which will cause some screen
output inside the loop which calls __dpmi_yield.  For example, you
could insert a call to __direct_outputs which prints a string " \b".
This will leave no visible trace on the screen.  It might be that
writing to the screen repairs the bug without having the adverse
effects of not calling __dpmi_yield (programs which idle should not
eat up CPU time).

> Ouasp!!! I'm still trying! Unfortunately, I don't know anything about
> DPMI.

I don't think you need to plunge into DPMI specifics for this
problem.  The name __dpmi_yield suggests that this is a DPMI function,
but it really isn't.

- Raw text -


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