Re: MSM DPMI error

Stas Sergeev
2002-09-19T12:51:52Z

[-- Attachment #1: Type: text/plain, Size: 379 bytes --]

Hello.

Grigory Batalov wrote:
> I have full logs (-D9+M) if someone is interesting:
OK, AFAICS it have nothing to do with 1.1.3.4 - this
bug was always there and I wonder why nobody noticed
it before (oh, about a year ago Bart forwarded me
something similar from djgpp-devel, IIRC).
Try this patch. Without the ability to test, I can't
guarantee, but I think it must be a fix.

[-- Attachment #2: int_loop.diff --]
[-- Type: text/plain, Size: 526 bytes --]

--- src/dosext/dpmi/dpmi.c Thu Sep 19 06:38:56 2002
+++ src/dosext/dpmi/dpmi.c Thu Sep 19 16:45:35 2002
@@ -2202,7 +2202,11 @@
case 0x1c: /* ROM BIOS timer tick interrupt */
case 0x23: /* DOS Ctrl+C interrupt */
case 0x24: /* DOS critical error interrupt */
- run_pm_int(VM86_ARG(retval));
+ if (SEGOFF2LINEAR(BIOSSEG, INT_OFF(VM86_ARG(retval))) !=
+ SEGOFF2LINEAR(_CS, _IP) -2)
+ run_pm_int(VM86_ARG(retval));
+ else
+ do_int(VM86_ARG(retval));
break;
default:
#ifdef USE_MHPDBG