diff options
Diffstat (limited to 'src/kernel/stacksegment.C')
| -rw-r--r-- | src/kernel/stacksegment.C | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/kernel/stacksegment.C b/src/kernel/stacksegment.C index 0ea3e24a8..f7ced0f1f 100644 --- a/src/kernel/stacksegment.C +++ b/src/kernel/stacksegment.C @@ -149,6 +149,8 @@ void* StackSegment::_createStack(tid_t i_task) void StackSegment::_deleteStack(tid_t i_task) { + VmmManager::getLock()->lock(); + uint64_t l_addr_8mb = i_task * (8*MEGABYTE) + VMM_VADDR_STACK_SEGMENT; StackBlockNode* l_node = iv_blockList.find(l_addr_8mb); @@ -159,5 +161,7 @@ void StackSegment::_deleteStack(tid_t i_task) delete l_node->block; delete l_node; + VmmManager::getLock()->unlock(); + return; } |

