Date: Sun, 19 Apr 1998 14:17:19 +0300 (IDT) From: Eli Zaretskii To: HANRIGOU Philippe cc: DJGPP Subject: Re: Problem with bash In-Reply-To: <35379A34.4E7E@CGSTE.MQ> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk 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.