diff options
author | Nicholas Clark <nick@ccl4.org> | 2005-05-25 15:52:33 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2005-05-25 15:52:33 +0000 |
commit | c21d1a0f049833fd2ca59ef598337f86f2cd08f4 (patch) | |
tree | 14de04bc69e174d99a2c18b667d2260f381dd9ef /ext | |
parent | 4ba4de046b58ba69d5377ba3b48b04bbfd30638f (diff) | |
download | perl-c21d1a0f049833fd2ca59ef598337f86f2cd08f4.tar.gz |
Track the mapping between source shared hash keys and target shared
hash keys to save repeated lookups during cloning.
p4raw-id: //depot/perl@24574
Diffstat (limited to 'ext')
-rwxr-xr-x | ext/threads/threads.xs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/threads/threads.xs b/ext/threads/threads.xs index 03cb590b13..f6b57d636c 100755 --- a/ext/threads/threads.xs +++ b/ext/threads/threads.xs @@ -615,6 +615,7 @@ Perl_ithread_join(pTHX_ SV *obj) clone_params.stashes = newAV(); clone_params.flags |= CLONEf_JOIN_IN; PL_ptr_table = ptr_table_new(); + PL_shared_hek_table = ptr_table_new(); current_thread = Perl_ithread_get(aTHX); Perl_ithread_set(aTHX_ thread); /* ensure 'meaningful' addresses retain their meaning */ @@ -646,6 +647,8 @@ Perl_ithread_join(pTHX_ SV *obj) SvREFCNT_inc(retparam); ptr_table_free(PL_ptr_table); PL_ptr_table = NULL; + ptr_table_free(PL_shared_hek_table); + PL_shared_hek_table = NULL; } /* We are finished with it */ |