Commit 3f102e5d authored by Alexander Alekhin's avatar Alexander Alekhin

dnn: protobuf shutdown

parent aad6d28e
......@@ -42,6 +42,8 @@
#include "precomp.hpp"
#include <opencv2/dnn/layer.details.hpp>
#include <google/protobuf/stubs/common.h>
namespace cv {
namespace dnn {
CV__DNN_EXPERIMENTAL_NS_BEGIN
......@@ -56,11 +58,26 @@ Mutex& getInitializationMutex()
// force initialization (single-threaded environment)
Mutex* __initialization_mutex_initializer = &getInitializationMutex();
namespace {
using namespace google::protobuf;
class ProtobufShutdown {
public:
bool initialized;
ProtobufShutdown() : initialized(true) {}
~ProtobufShutdown()
{
initialized = false;
google::protobuf::ShutdownProtobufLibrary();
}
};
} // namespace
void initializeLayerFactory()
{
CV_TRACE_FUNCTION();
static ProtobufShutdown protobufShutdown; (void)protobufShutdown;
CV_DNN_REGISTER_LAYER_CLASS(Slice, SliceLayer);
CV_DNN_REGISTER_LAYER_CLASS(Split, SplitLayer);
CV_DNN_REGISTER_LAYER_CLASS(Concat, ConcatLayer);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment