diff options
author | marcel <marcel@FreeBSD.org> | 2003-05-19 04:16:30 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2003-05-19 04:16:30 +0000 |
commit | cd7086c532d7fcc9f4b3277152396924b3dea95d (patch) | |
tree | 0570d3a0fa5ef89dbacda5db8279ceacd93bdeab /lib/libedit/emacs.c | |
parent | 487ef7f7cbd53c22f36b29ac35905579ef1b7ae9 (diff) | |
download | FreeBSD-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