summaryrefslogtreecommitdiffstats
path: root/lib/libedit/emacs.c
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2003-05-19 04:16:30 +0000
committermarcel <marcel@FreeBSD.org>2003-05-19 04:16:30 +0000
commitcd7086c532d7fcc9f4b3277152396924b3dea95d (patch)
tree0570d3a0fa5ef89dbacda5db8279ceacd93bdeab /lib/libedit/emacs.c
parent487ef7f7cbd53c22f36b29ac35905579ef1b7ae9 (diff)
downloadFreeBSD-src-cd7086c532d7fcc9f4b3277152396924b3dea95d.zip
FreeBSD-src-cd7086c532d7fcc9f4b3277152396924b3dea95d.tar.gz
pmap_install() needs to be atomic WRT to context switching. Protect
switching user regions (region 0-4) with schedlock. Avoid unnecessary recursion on schedlock by moving the core functionality to another function (pmap_switch()) where we assert schedlock is held. Turn pmap_install() into a wrapper that grabs schedlock. This minimizes the number of callsites that need to be changed. Since we already have schedlock in cpu_switch() and cpu_throw(), have them call pmap_switch() directly. These were also the only two calls to pmap_install() outside pmap.c, so make pmap_install() static and remove its prototype from pmap.h Approved by: re (blanket)
Diffstat (limited to 'lib/libedit/emacs.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud