diff options
author | dyson <dyson@FreeBSD.org> | 1997-06-15 23:33:52 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1997-06-15 23:33:52 +0000 |
commit | 2e39fb736ccaaf828955cb4d7f689a5eab32feb1 (patch) | |
tree | 05f8a7f64c9fd2ea626e55d46735d39bc54d91a5 /sys/vm | |
parent | 3c54eb0587d99c6434081b4d6d36824c70d2a358 (diff) | |
download | FreeBSD-src-2e39fb736ccaaf828955cb4d7f689a5eab32feb1.zip FreeBSD-src-2e39fb736ccaaf828955cb4d7f689a5eab32feb1.tar.gz |
Fix a reference problem with maps. Only appears to manifest itself when
sharing address spaces.
Diffstat (limited to 'sys/vm')
-rw-r--r-- | sys/vm/vm_map.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index beb4c40..26e2318 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_map.c,v 1.75 1997/04/07 07:16:05 peter Exp $ + * $Id: vm_map.c,v 1.76 1997/04/13 01:48:35 dyson Exp $ */ /* @@ -2454,8 +2454,12 @@ RetryLookup:; if (lockmgr(&share_map->lock, LK_EXCLUPGRADE, (void *)0, curproc)) { + + vm_map_unlock_read(map); + if (share_map != map) vm_map_unlock_read(map); + goto RetryLookup; } vm_object_shadow( |