diff --git a/base-mb/src/base/thread/thread.cc b/base-mb/src/base/thread/thread.cc index bf99c712f..4ac8af919 100644 --- a/base-mb/src/base/thread/thread.cc +++ b/base-mb/src/base/thread/thread.cc @@ -164,9 +164,9 @@ void Thread_base::_free_context() { addr_t ds_addr = _context->stack_base - Native_config::context_area_virtual_base(); Ram_dataspace_capability ds_cap = _context->ds_cap; - _context_allocator()->free(this); Genode::env_context_area_rm_session()->detach((void *)ds_addr); Genode::env_context_area_ram_session()->free(ds_cap); + _context_allocator()->free(this); } diff --git a/base/src/base/thread/thread.cc b/base/src/base/thread/thread.cc index d96982fd2..5df809753 100644 --- a/base/src/base/thread/thread.cc +++ b/base/src/base/thread/thread.cc @@ -163,9 +163,9 @@ void Thread_base::_free_context() { addr_t ds_addr = _context->stack_base - Native_config::context_area_virtual_base(); Ram_dataspace_capability ds_cap = _context->ds_cap; - _context_allocator()->free(this); Genode::env_context_area_rm_session()->detach((void *)ds_addr); Genode::env_context_area_ram_session()->free(ds_cap); + _context_allocator()->free(this); }