diff options
author | kenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2009-05-18 18:38:56 +0000 |
---|---|---|
committer | kenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2009-05-18 18:38:56 +0000 |
commit | b43727981c460cf934f894a8ddb3819ffcf9a6fe (patch) | |
tree | 2122cf7ec760583815589b021be5074a9f25448f | |
parent | 1fb3d394e5bb4ded7a76dc8d44a701733aad3553 (diff) | |
download | protobuf-b43727981c460cf934f894a8ddb3819ffcf9a6fe.tar.gz protobuf-b43727981c460cf934f894a8ddb3819ffcf9a6fe.tar.bz2 protobuf-b43727981c460cf934f894a8ddb3819ffcf9a6fe.zip |
Fix final leak (win32 only).
-rw-r--r-- | src/google/protobuf/stubs/once.cc | 6 | ||||
-rw-r--r-- | src/google/protobuf/stubs/once.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/google/protobuf/stubs/once.cc b/src/google/protobuf/stubs/once.cc index b47a031c..3c53bcd7 100644 --- a/src/google/protobuf/stubs/once.cc +++ b/src/google/protobuf/stubs/once.cc @@ -56,6 +56,12 @@ struct GoogleOnceInternal { CRITICAL_SECTION critical_section; }; +GoogleOnceType::~GoogleOnceType() +{ + delete internal_; + internal_ = NULL; +} + GoogleOnceType::GoogleOnceType() { // internal_ may be non-NULL if Init() was already called. if (internal_ == NULL) internal_ = new GoogleOnceInternal; diff --git a/src/google/protobuf/stubs/once.h b/src/google/protobuf/stubs/once.h index 61c5f362..22b0d4e6 100644 --- a/src/google/protobuf/stubs/once.h +++ b/src/google/protobuf/stubs/once.h @@ -87,6 +87,7 @@ struct GoogleOnceInternal; struct LIBPROTOBUF_EXPORT GoogleOnceType { GoogleOnceType(); + ~GoogleOnceType(); void Init(void (*init_func)()); volatile bool initialized_; |