D5966: Fix race-condition in KRandom-seeding.

Michael Pyne noreply at phabricator.kde.org
Mon May 29 17:46:43 UTC 2017


mpyne added a comment.


  The changeset is fine to go in (once the duplicated semicolon is fixed).
  
  As for C++11, I'm not aware that Qt requires C++11 as a blanket policy.  Instead they require specific compilers, and then we can use the C++11 features supported by that compiler.
  
  According to the Qt documentation <http://doc.qt.io/qt-5/supported-platforms-and-configurations.html>, Qt 5.8 is the first Qt release to require at least GCC 4.8 across the board, on configurations using GCC.  I believe that was the first GCC where `thread_local` is fully supported.  Note that we do try to support MS Windows though, and MSVC as distributed with VS 2013 is the minimum requirement for both Qt 5.8 and current Qt development.  But MSVC doesn't fully support `thread_local` until VS 2015 <https://msdn.microsoft.com/en-us/library/hh567368.aspx#concurrencytable>.  So it will probably be at least another couple of years before we can rely on that feature to be available.

INLINE COMMENTS

> krandom.cpp:46
>          unsigned int seed;
> -        init = true;
> +        initialized_threads.setLocalData(true);;
>          QFile urandom(QStringLiteral("/dev/urandom"));

There are two semicolons on this line, only one is needed. :)

REPOSITORY
  R244 KCoreAddons

REVISION DETAIL
  https://phabricator.kde.org/D5966

To: tfry, dfaure
Cc: mpyne, tfry, rjvbb, #frameworks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20170529/d1057f4f/attachment.html>


More information about the Kde-frameworks-devel mailing list