commit | 4106c650d36c6abacf96dd967e37f15c2ece58b7 | [log] [tgz] |
---|---|---|
author | Alexander Sidorov <salex@fb.com> | Thu Sep 21 15:11:58 2017 -0700 |
committer | Facebook Github Bot <facebook-github-bot@users.noreply.github.com> | Thu Sep 21 15:21:45 2017 -0700 |
tree | d126528723caa3a7137331e5c3d4c424423bc320 | |
parent | b8ab3080b1043a610ba2825a2be406a1833b1d70 [diff] |
fix a race in type registration Summary: Here's what's happening: C++ only guarantees that static initialization is thread safe there: https://fburl.com/40wdmf1q So TypeNameRegisterer<bool> can not be called concurrently with TypeNameRegisterer<bool> from another invocation But there's no guarantees about different template specializations as they declare separate variables. Thus TypeNameRegisterer<int> might race with TypeNameRegisterer<bool>. And TypeNameRegisterer accesses the global variable here: https://fburl.com/gv2mhi08 Thanks dzhulgakov for the investigation! Reviewed By: Yangqing Differential Revision: D5882913 fbshipit-source-id: 4db1080b11e6351ce8136373e2dfc52980642fbb
Caffe2 is a lightweight, modular, and scalable deep learning framework. Building on the original Caffe, Caffe2 is designed with expression, speed, and modularity in mind.
Caffe2 research award competition request for proposals
Please use Github issues (https://github.com/caffe2/caffe2/issues) to ask questions, report bugs, and request new features.
Please participate in our survey (https://www.surveymonkey.com/r/caffe2). We will send you information about new releases and special developer events/webinars.
Caffe2 is released under the BSD 2-Clause license.