diff options
author | weidai <weidai11@users.noreply.github.com> | 2003-07-29 01:18:33 +0000 |
---|---|---|
committer | weidai <weidai11@users.noreply.github.com> | 2003-07-29 01:18:33 +0000 |
commit | 9c5c4769a9c7a16aecc6cc7dd297bfe243dd022f (patch) | |
tree | 7a78ed3becd2c14f449d1cc66a58edd414256d94 /polynomi.cpp | |
parent | 259ee22eba4e4e6471caa088479a93fbee894e11 (diff) | |
download | cryptopp-git-9c5c4769a9c7a16aecc6cc7dd297bfe243dd022f.tar.gz |
fix potential threading problem with initialization of static objects
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 c049570b..be39bce4 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 |