summaryrefslogtreecommitdiff
path: root/sys/arch/vax
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2006-12-24 20:29:20 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2006-12-24 20:29:20 +0000
commit0330d467c5d5654526bf0e8d6141cf8d59a148ed (patch)
tree9f13e3cb00acf1e51b34160c6fcf200312939bf8 /sys/arch/vax
parent0ece0a5e4e73b44f42815ab3f5f0bc9f7e3bb7c8 (diff)
Check for want_resched when processing AST and nowhere else. But then, when
doing so, do not check for signals - userret() will do this.
Diffstat (limited to 'sys/arch/vax')
-rw-r--r--sys/arch/vax/vax/trap.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/arch/vax/vax/trap.c b/sys/arch/vax/vax/trap.c
index 2f164d1c27c..857143ae859 100644
--- a/sys/arch/vax/vax/trap.c
+++ b/sys/arch/vax/vax/trap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: trap.c,v 1.34 2006/01/30 21:26:19 miod Exp $ */
+/* $OpenBSD: trap.c,v 1.35 2006/12/24 20:29:19 miod Exp $ */
/* $NetBSD: trap.c,v 1.47 1999/08/21 19:26:20 matt Exp $ */
/*
* Copyright (c) 1994 Ludd, University of Lule}, Sweden.
@@ -311,6 +311,12 @@ if(faultdebug)printf("trap accflt type %lx, code %lx, pc %lx, psl %lx\n",
case T_ASTFLT|T_USER:
mtpr(AST_NO,PR_ASTLVL);
trapsig = 0;
+ if (p->p_flag & P_OWEUPC) {
+ p->p_flag &= ~P_OWEUPC;
+ ADDUPROF(p);
+ }
+ if (want_resched)
+ preempt(NULL);
break;
#ifdef DDB