From a2da9c4f6dc57152f9e66fdbc6965d8e44803757 Mon Sep 17 00:00:00 2001 From: "Guillermo J. Rozas" Date: Fri, 16 Jul 1993 20:56:45 +0000 Subject: [PATCH] Set up an appropriate interrupt mask for the DOS high-priority interrupt. --- v7/src/microcode/dosconio.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/v7/src/microcode/dosconio.c b/v7/src/microcode/dosconio.c index 8dff04c55..bbe554814 100644 --- a/v7/src/microcode/dosconio.c +++ b/v7/src/microcode/dosconio.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: dosconio.c,v 1.9 1992/11/23 04:18:59 gjr Exp $ +$Id: dosconio.c,v 1.10 1993/07/16 20:56:45 gjr Exp $ -Copyright (c) 1992 Massachusetts Institute of Technology +Copyright (c) 1992-1993 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -265,12 +265,17 @@ extern void EXFUN (DOS_initialize_fov, (SCHEME_OBJECT)); void DEFUN (DOS_initialize_fov, (fov), SCHEME_OBJECT fov) { + int in; + SCHEME_OBJECT iv, imv, prim; extern SCHEME_OBJECT EXFUN (make_primitive, (char *)); - SCHEME_OBJECT iv, prim; + in = Global_GC_Level; prim = (make_primitive ("DOS-HIGH-PRIORITY-TIMER-INTERRUPT")); iv = (FAST_VECTOR_REF (fov, System_Interrupt_Vector)); - VECTOR_SET (iv, Global_GC_Level, prim); + VECTOR_SET (iv, in, prim); + imv = (FAST_VECTOR_REF (fov, FIXOBJ_INTERRUPT_MASK_VECTOR)); + /* No interrupts allowed while processing this interrupt. */ + VECTOR_SET (imv, in, (long_to_integer (0))); return; } -- 2.25.1