In free we want to destroy, not init, thanks to Tim Bunce for
Artur Bergman [Thu, 12 Jun 2003 15:03:55 +0000 (15:03 +0000)]
detecting this. Should hopefully fix memory leak on Tru64

p4raw-id: //depot/perl@19750

ext/threads/shared/shared.xs

index 67048dd..f20c581 100644 (file)
@@ -163,7 +163,7 @@ sharedsv_shared_mg_free(pTHX_ SV *sv, MAGIC *mg)
     shared_sv *shared = (shared_sv *) mg->mg_ptr;
     assert( aTHX == PL_sharedsv_space );
     if (shared) {
-       recursive_lock_init(aTHX_ &shared->lock);
+       recursive_lock_destroy(aTHX_ &shared->lock);
        COND_DESTROY(&shared->user_cond);
        PerlMemShared_free(shared);
        mg->mg_ptr = NULL;