summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/thread.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/thread.cc b/src/thread.cc
index 8bd7bc20a4..aee684bdec 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -985,6 +985,12 @@ void Thread::Destroy() {
if (peer_ != NULL) {
Thread* self = this;
+ // We may need to call user-supplied managed code.
+ SetState(Thread::kRunnable);
+
+ HandleUncaughtExceptions();
+ RemoveFromThreadGroup();
+
// this.vmData = 0;
SetVmData(peer_, NULL);