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.

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

Reply via email to