diff options
author | Sverker Eriksson <[email protected]> | 2013-06-12 15:33:08 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2013-06-12 15:33:08 +0200 |
commit | 5abf95afb89eb6c2a93f68c08694710e23bab546 (patch) | |
tree | 523d017b1629989468f97af70eae1c192853f7b7 /erts/emulator/beam/erl_process.c | |
parent | b16dc3553bb2c5618169ede09fe479d83f7bcf40 (diff) | |
parent | 1f8d9f43766fea0e706db8923075ab65a7677daf (diff) | |
download | otp-5abf95afb89eb6c2a93f68c08694710e23bab546.tar.gz otp-5abf95afb89eb6c2a93f68c08694710e23bab546.tar.bz2 otp-5abf95afb89eb6c2a93f68c08694710e23bab546.zip |
Merge branch 'maint'
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r-- | erts/emulator/beam/erl_process.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c index 3d161f2aa0..64b4c25ba0 100644 --- a/erts/emulator/beam/erl_process.c +++ b/erts/emulator/beam/erl_process.c @@ -7513,6 +7513,7 @@ erl_create_process(Process* parent, /* Parent of process (default group leader). p->htop = p->heap; p->heap_sz = sz; p->catches = 0; + p->extra_root = NULL; p->bin_vheap_sz = p->min_vheap_size; p->bin_old_vheap_sz = p->min_vheap_size; @@ -8945,6 +8946,12 @@ erts_continue_exit_process(Process *p) if (pbt) erts_free(ERTS_ALC_T_BPD, (void *) pbt); + if (p->extra_root != NULL) { + (p->extra_root->cleanup)(p->extra_root); /* Should deallocate + whole structure */ + p->extra_root = NULL; + } + delete_process(p); #ifdef ERTS_SMP |