I found AutoSeededRandomPool have thread problems. e.g. when 10 thread
are running the function below, it throw exceptions.
void thread(void)
{
CryptoPP::AutoSeededRandomPool rng;
}
By reading this post:
I removing the #define WORKAROUND_MS_BUG_Q258000 in the config.h and
run the test again, it runs without any problem.
So I suggest remove the deine in the official version.
RnySmile
diff -r1.6 osrng.cpp
88c88
< static MicrosoftCryptoProvider m_Provider;
---
> const MicrosoftCryptoProvider &m_Provider =
> Singleton<MicrosoftCryptoProvider>().Ref();