Branch: refs/heads/master Home: https://github.com/xrootd/xrootd Commit: e3ee50672a455d3e620bc67b593cbef62b059a72 https://github.com/xrootd/xrootd/commit/e3ee50672a455d3e620bc67b593cbef62b059a72 Author: Brian Bockelman <[log in to unmask]> Date: 2014-11-17 (Mon, 17 Nov 2014) Changed paths: M src/XrdSys/XrdSysIOEvents.cc M src/XrdSys/XrdSysIOEvents.hh M src/XrdSys/XrdSysIOEventsPollE.icc Log Message: ----------- Make sure the wakePend flag does not incur undefined behavior. The wakePend flag currently has undefined behavior as multiple threads read and write to it without a consistent locking mechanism. This switches writes and reads to use C++11's release-consume ordering when available. Without this patch, we have undefined behavior - which is illegal with C++11. The release-consume ordering is sufficient to guarantee atomicity and the ordering of wakePend writes; other than that, it's a very weak memory model. In practice, this is a guarantee already provided by all interesting architectures (it only generates different assembler on DEC Alpha). Fixes #167 Commit: 1435552729b0e0bf6373aca5efd948d628501ecc https://github.com/xrootd/xrootd/commit/1435552729b0e0bf6373aca5efd948d628501ecc Author: Brian Bockelman <[log in to unmask]> Date: 2014-11-20 (Thu, 20 Nov 2014) Changed paths: M src/XrdSys/XrdSysAtomics.hh M src/XrdSys/XrdSysIOEvents.cc M src/XrdSys/XrdSysIOEvents.hh M src/XrdSys/XrdSysIOEventsPollE.icc Log Message: ----------- Replace ifdef's with CPP_ATOMIC_* macros. Commit: dac6ee52d12ae5d49c4317618890238e70f17823 https://github.com/xrootd/xrootd/commit/dac6ee52d12ae5d49c4317618890238e70f17823 Author: Brian Bockelman <[log in to unmask]> Date: 2014-11-21 (Fri, 21 Nov 2014) Changed paths: M src/XrdSys/XrdSysAtomics.hh M src/XrdSys/XrdSysIOEvents.cc Log Message: ----------- Re-introduce the toMutex lock and explain why this is necessary. NOTE: also fixed a debug line accidentally committed to XrdSysAtomics.hh Commit: ab9e2a3d72f4f0fb0afef8272996323c881844e7 https://github.com/xrootd/xrootd/commit/ab9e2a3d72f4f0fb0afef8272996323c881844e7 Author: Andrew Hanushevsky <[log in to unmask]> Date: 2014-11-24 (Mon, 24 Nov 2014) Changed paths: M src/XrdSys/XrdSysAtomics.hh M src/XrdSys/XrdSysIOEvents.cc M src/XrdSys/XrdSysIOEvents.hh M src/XrdSys/XrdSysIOEventsPollE.icc Log Message: ----------- Merge pull request #170 from bbockelm/fix-wakepend-loads Make sure the wakePend flag does not incur undefined behavior. Compare: https://github.com/xrootd/xrootd/compare/16b3682883df...ab9e2a3d72f4 ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the XROOTD-DEV list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1