tegge 0d5f191162 Close race between vmspace_exitfree() and exit1() and races between
vmspace_exitfree() and vmspace_free() which could result in the same
vmspace being freed twice.

Factor out part of exit1() into new function vmspace_exit().  Attach
to vmspace0 to allow old vmspace to be freed earlier.

Add new function, vmspace_acquire_ref(), for obtaining a vmspace
reference for a vmspace belonging to another process.  Avoid changing
vmspace refcount from 0 to 1 since that could also lead to the same
vmspace being freed twice.

Change vmtotal() and swapout_procs() to use vmspace_acquire_ref().

Reviewed by:	alc
2006-05-29 21:28:56 +00:00
..
2006-03-23 08:48:37 +00:00
2006-04-17 20:14:51 +00:00
2006-01-27 23:06:08 +00:00
2005-12-23 21:32:40 +00:00
2006-03-03 22:36:52 +00:00
2005-12-04 02:12:43 +00:00
2005-12-28 17:13:31 +00:00
2006-05-19 06:37:24 +00:00
2006-05-28 22:15:28 +00:00
2005-03-14 06:51:29 +00:00
2006-03-23 08:48:37 +00:00