瀏覽代碼

Delete default UnknownFieldSet when shuting down.

Feng Xiao 10 年之前
父節點
當前提交
37df4b65a4
共有 1 個文件被更改,包括 5 次插入0 次删除
  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.
 // instantiate the UnknownFieldSet dynamically only when required.
 UnknownFieldSet* default_unknown_field_set_instance_ = NULL;
 UnknownFieldSet* default_unknown_field_set_instance_ = NULL;
 
 
+void DeleteDefaultUnknownFieldSet() {
+  delete default_unknown_field_set_instance_;
+}
+
 void InitDefaultUnknownFieldSet() {
 void InitDefaultUnknownFieldSet() {
   default_unknown_field_set_instance_ = new UnknownFieldSet();
   default_unknown_field_set_instance_ = new UnknownFieldSet();
+  internal::OnShutdown(&DeleteDefaultUnknownFieldSet);
 }
 }
 
 
 GOOGLE_PROTOBUF_DECLARE_ONCE(default_unknown_field_set_once_init_);
 GOOGLE_PROTOBUF_DECLARE_ONCE(default_unknown_field_set_once_init_);