Explorar o código

Merge pull request #458 from xfxyjwf/memory_leak

Delete default UnknownFieldSet when shuting down.
Paul Yang %!s(int64=10) %!d(string=hai) anos
pai
achega
eb162dad5f
Modificáronse 1 ficheiros con 5 adicións e 0 borrados
  1. 5 0
      src/google/protobuf/unknown_field_set.cc

+ 5 - 0
src/google/protobuf/unknown_field_set.cc

@@ -50,8 +50,13 @@ namespace {
 // instantiate the UnknownFieldSet dynamically only when required.
 UnknownFieldSet* default_unknown_field_set_instance_ = NULL;
 
+void DeleteDefaultUnknownFieldSet() {
+  delete default_unknown_field_set_instance_;
+}
+
 void InitDefaultUnknownFieldSet() {
   default_unknown_field_set_instance_ = new UnknownFieldSet();
+  internal::OnShutdown(&DeleteDefaultUnknownFieldSet);
 }
 
 GOOGLE_PROTOBUF_DECLARE_ONCE(default_unknown_field_set_once_init_);