gauss_w_lut is a statically defined variable of type oclMat. The oclMat destructor calls openCLFree() which via getInitializationMutex() accesses the __module variable which has been statically defined in cl_context.cpp Since the destruction order of statically defined variables in different compilation units is undefined, it is possible that __module will be destructed before gauss_w_lut, which would result in a segfault when getInitializationMutex() is called while destructing gauss_w_lut. In order to avoid this issue, we need to make gauss_w_lut a private member of the HOGDescriptors class so we know it will be destroyed before __module. |
||
|---|---|---|
| 3rdparty | ||
| apps | ||
| cmake | ||
| data | ||
| doc | ||
| include | ||
| modules | ||
| platforms | ||
| samples | ||
| .gitattributes | ||
| .gitignore | ||
| .tgitconfig | ||
| CMakeLists.txt | ||
| index.rst | ||
| LICENSE | ||
| README.md | ||
OpenCV: Open Source Computer Vision Library
Resources
- Homepage: http://opencv.org
- Docs: http://docs.opencv.org
- Q&A forum: http://answers.opencv.org
- Issue tracking: http://code.opencv.org
Contributing
Please read before starting work on a pull request: http://code.opencv.org/projects/opencv/wiki/How_to_contribute
Summary of guidelines:
- One pull request per issue;
- Choose the right base branch;
- Include tests and documentation;
- Clean up "oops" commits before submitting;
- Follow the coding style guide.
