diff options
author | weidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0> | 2003-07-29 01:18:33 +0000 |
---|---|---|
committer | weidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0> | 2003-07-29 01:18:33 +0000 |
commit | 483c74aaab7c20d82a48621f1dd8b300292d3404 (patch) | |
tree | 7a78ed3becd2c14f449d1cc66a58edd414256d94 /polynomi.cpp | |
parent | a01d216aab60849e4581efd41820f18562085687 (diff) | |
download | cryptopp-483c74aaab7c20d82a48621f1dd8b300292d3404.tar.gz |
fix potential threading problem with initialization of static objects
git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@118 57ff6487-cd31-0410-9ec3-f628ee90f5f0
Diffstat (limited to 'polynomi.cpp')
-rw-r--r-- | polynomi.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/polynomi.cpp b/polynomi.cpp index c049570..be39bce 100644 --- a/polynomi.cpp +++ b/polynomi.cpp @@ -565,15 +565,13 @@ Element BulkPolynomialInterpolateAt(const Ring &ring, const Element y[], const E template <class T, int instance> const PolynomialOverFixedRing<T, instance> &PolynomialOverFixedRing<T, instance>::Zero() { - static const PolynomialOverFixedRing<T, instance> zero; - return zero; + return Singleton<ThisType>().Ref(); } template <class T, int instance> const PolynomialOverFixedRing<T, instance> &PolynomialOverFixedRing<T, instance>::One() { - static const PolynomialOverFixedRing<T, instance> one = fixedRing.MultiplicativeIdentity(); - return one; + return Singleton<ThisType, NewOnePolynomial>().Ref(); } NAMESPACE_END |