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
|