diff --git a/base-linux/src/platform/lx_hybrid.cc b/base-linux/src/platform/lx_hybrid.cc index ec1cb95f7..d4563449b 100644 --- a/base-linux/src/platform/lx_hybrid.cc +++ b/base-linux/src/platform/lx_hybrid.cc @@ -450,7 +450,12 @@ Thread_base::~Thread_base() ret, errno); } - destroy(env()->heap(), _tid.meta_data); + Thread_meta_data_created *meta_data = + dynamic_cast(_tid.meta_data); + + if (meta_data) + destroy(env()->heap(), meta_data); + _tid.meta_data = 0; /* inform core about the killed thread */