#
02b151d3 |
|
11-Jul-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
MultiAddressSpaceLocker::AddAreaCacheAndLock(): race condition * Add a VMArea* version of AddArea(). * AddAreaCacheAndLock(): Use the new AddArea() version. This not only saves the ID hash table lookup, but also fixes a race condition with delete_area(). delete_area() removes the area from the hash before removing it from its cache, so iterating through the cache's areas can turn up an area that no longer is in the hash. In that case we would fail immediately. The new AddArea() won't fail in this situation, though. Fixes #9686: vm_copy_area() could fail for the "commpage" area. That's an area all teams share, so any team terminating while another one was fork()ing could trigger it.
|
#
21ff565f |
|
03-Apr-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
AddressSpaceWriteLocker: Added VMAddressSpace* constructor and SetTo() versions. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36029 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
def9898c |
|
02-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved the three address space locker classes into a separate pair of header/source files. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34451 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
02b151d3e344772bcc6f91c874b9b87a23350a0a |
|
11-Jul-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
MultiAddressSpaceLocker::AddAreaCacheAndLock(): race condition * Add a VMArea* version of AddArea(). * AddAreaCacheAndLock(): Use the new AddArea() version. This not only saves the ID hash table lookup, but also fixes a race condition with delete_area(). delete_area() removes the area from the hash before removing it from its cache, so iterating through the cache's areas can turn up an area that no longer is in the hash. In that case we would fail immediately. The new AddArea() won't fail in this situation, though. Fixes #9686: vm_copy_area() could fail for the "commpage" area. That's an area all teams share, so any team terminating while another one was fork()ing could trigger it.
|
#
21ff565f76443c658cfd5a67e0cc0402a2c64ecd |
|
03-Apr-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
AddressSpaceWriteLocker: Added VMAddressSpace* constructor and SetTo() versions. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36029 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
def9898c9b96d366f32c39f0143e265442bd429a |
|
02-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved the three address space locker classes into a separate pair of header/source files. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34451 a95241bf-73f2-0310-859d-f6bbb57e9c96
|