cpython/Python
Jeffrey Yasskin 39370830a9 Make (most of) Python's tests pass under Thread Sanitizer.
http://code.google.com/p/data-race-test/wiki/ThreadSanitizer is a dynamic data
race detector that runs on top of valgrind. With this patch, the binaries at
http://code.google.com/p/data-race-test/wiki/ThreadSanitizer#Binaries pass many
but not all of the Python tests. All of regrtest still passes outside of tsan.

I've implemented part of the C1x atomic types so that we can explicitly mark
variables that are used across threads, and get defined behavior as compilers
advance.

I've added tsan's client header and implementation to the codebase in
dynamic_annotations.{h,c} (docs at
http://code.google.com/p/data-race-test/wiki/DynamicAnnotations).
Unfortunately, I haven't been able to get helgrind and drd to give sensible
error messages, even when I use their client annotations, so I'm not supporting
them.
2010-05-03 19:29:34 +00:00
..
_warnings.c Merged revisions 72487-72488,72879 via svnmerge from 2009-07-21 04:30:03 +00:00
asdl.c Merged revisions 64114 via svnmerge from 2008-06-18 00:47:36 +00:00
ast.c in wide builds, avoid storing high unicode characters from source code with surrogates 2009-10-28 21:59:39 +00:00
bltinmodule.c Issue #8226: sys.setfilesystemencoding() raises a LookupError if the encoding 2010-03-25 00:30:28 +00:00
ceval.c Make (most of) Python's tests pass under Thread Sanitizer. 2010-05-03 19:29:34 +00:00
ceval_gil.h Make (most of) Python's tests pass under Thread Sanitizer. 2010-05-03 19:29:34 +00:00
codecs.c Merged revisions 75365,75394,75402-75403,75418,75459,75484,75592-75596,75600,75602-75607,75610-75613,75616-75617,75623,75627,75640,75647,75696,75795 via svnmerge from 2009-10-27 15:28:25 +00:00
compile.c Merged revisions 79034 via svnmerge from 2010-03-17 20:56:58 +00:00
dtoa.c Merged revisions 77691,77698,77713-77714 via svnmerge from 2010-01-24 10:16:29 +00:00
dup2.c
dynamic_annotations.c Make (most of) Python's tests pass under Thread Sanitizer. 2010-05-03 19:29:34 +00:00
dynload_aix.c Fix SF bug #1072182, problems with signed characters. 2005-12-19 06:05:18 +00:00
dynload_dl.c Implement PEP 3121: new module initialization and finalization API. 2008-06-11 05:26:20 +00:00
dynload_hpux.c Implement PEP 3121: new module initialization and finalization API. 2008-06-11 05:26:20 +00:00
dynload_next.c Implement PEP 3121: new module initialization and finalization API. 2008-06-11 05:26:20 +00:00
dynload_os2.c Implement PEP 3121: new module initialization and finalization API. 2008-06-11 05:26:20 +00:00
dynload_shlib.c Implement PEP 3121: new module initialization and finalization API. 2008-06-11 05:26:20 +00:00
dynload_stub.c
dynload_win.c Merged revisions 69038 via svnmerge from 2009-01-27 23:46:57 +00:00
errors.c Poor PLAN9, it isn't supported 2010-02-22 19:41:37 +00:00
formatter_unicode.c Remove the uses of WITHOUT_COMPLEX introduced in r75471 2009-10-18 16:41:32 +00:00
frozen.c Fix for refleak tests through regrtest.py -R:: bug #1414 2007-11-12 19:19:07 +00:00
frozenmain.c #4004: Missing newline in some startup error messages. 2008-10-07 21:06:18 +00:00
future.c The BDFL has retired! Long live the FLUFL (Friendly Language Uncle For Life)! 2009-04-01 05:08:41 +00:00
getargs.c prevent the dict constructor from accepting non-string keyword args #8419 2010-04-24 18:21:17 +00:00
getcompiler.c
getcopyright.c Merged revisions 77203 via svnmerge from 2010-01-01 04:47:54 +00:00
getcwd.c Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk. 2006-05-27 19:21:47 +00:00
getopt.c Merged revisions 61440-61441,61443,61445-61448,61451-61452,61455-61457,61459-61464,61466-61467,61469-61470,61476-61477,61479,61481-61482,61485,61487,61490,61493-61494,61497,61499-61502,61505-61506,61508,61511-61514,61519,61521-61522,61530-61531,61533-61537,61541-61555,61557-61558,61561-61562,61566-61569,61572-61574,61578-61579,61583-61584,61588-61589,61592,61594,61598-61601,61603-61604,61607-61612,61617,61619-61620,61624,61626,61628-61630,61635-61638,61640-61643,61645,61648,61653-61655,61659-61662,61664,61666,61668-61671,61673,61675,61679-61680,61682,61685-61686,61689-61695,61697-61699,61701-61703,61706,61710,61713,61717,61723,61726-61730,61736,61738,61740,61742,61745-61752,61754-61760,61762-61764,61768,61770-61772,61774-61775,61784-61787,61789-61792,61794-61795,61797-61806,61808-61809,61811-61812,61814-61819,61824,61826-61833,61835-61840,61843-61845,61848,61850,61854-61862,61865-61866,61868,61872-61873,61876-61877,61883-61888,61890-61891,61893-61899,61901-61903,61905-61912,61914,61917,61920-61921,61927,61930,61932-61934,61939,61941-61942,61944-61951,61955,61960-61963,61980,61982-61983,61991,61994-61996,62001-62003,62008-62010,62016-62017,62022,62024,62027,62031-62034,62041,62045-62046,62055-62058,62060-62066,62068-62074,62076-62079,62081-62083,62086-62089,62092-62094,62098,62101,62104,62106-62109,62115-62122,62124-62125,62128,62130,62132,62134-62135,62137,62139-62140,62144,62146,62151,62155,62157,62162-62166,62171-62172,62175-62176,62178,62181-62186,62188-62192,62196,62200-62203,62206,62211-62213,62215-62218,62222,62224-62226,62228,62232,62236,62240-62245,62248,62250-62254,62256-62258,62262,62264-62265,62267-62270,62272-62276,62280-62288,62291-62292,62299-62301,62307,62312,62316-62318,62322-62331,62333-62337,62339-62344,62346-62348 via svnmerge from 2008-04-15 06:43:13 +00:00
getplatform.c
getversion.c
graminit.c fix an ambiguity in the grammar from the implementation of extended unpacking 2009-09-27 02:43:28 +00:00
import.c PEP 3147 2010-04-17 00:19:56 +00:00
importdl.c Implement PEP 3121: new module initialization and finalization API. 2008-06-11 05:26:20 +00:00
importdl.h PEP 302 + zipimport: 2002-12-30 22:08:05 +00:00
makeopcodetargets.py fix bootstrapping on machines with only 2.x installed 2010-03-11 23:39:40 +00:00
marshal.c Merged revisions 80325 via svnmerge from 2010-04-21 22:56:22 +00:00
modsupport.c Issue 7147 - remove ability to attempt to build Python without complex number support (was broken anyway) 2009-10-18 14:25:35 +00:00
mysnprintf.c Removed unused #include. 2009-04-07 22:55:31 +00:00
mystrtoul.c Merged revisions 61981,61984-61987,61992-61993,61997-62000 via svnmerge from 2008-03-28 10:53:29 +00:00
opcode_targets.h Merged revisions 72912,72920,72940 via svnmerge from 2009-06-28 03:18:59 +00:00
peephole.c Issue #6690: Optimize the bytecode for expressions such as x in {1, 2, 3}, 2010-01-16 18:37:38 +00:00
pyarena.c Merged revisions 46753-51188 via svnmerge from 2006-08-11 14:57:12 +00:00
pyctype.c Include files missed in r72044. 2009-04-27 20:54:42 +00:00
pyfpe.c
pymath.c Merged revisions 76978 via svnmerge from 2009-12-21 15:27:41 +00:00
pystate.c Make (most of) Python's tests pass under Thread Sanitizer. 2010-05-03 19:29:34 +00:00
pystrcmp.c Merged revisions 61724-61725,61731-61735,61737,61739,61741,61743-61744,61753,61761,61765-61767,61769,61773,61776-61778,61780-61783,61788,61793,61796,61807,61813 via svnmerge from 2008-03-23 21:54:12 +00:00
pystrtod.c Issue #5988: Delete deprecated functions PyOS_ascii_formatd, PyOS_ascii_strtod, and PyOS_ascii_atof. 2010-02-22 14:58:30 +00:00
Python-ast.c regenerate Python-ast.c 2009-12-13 01:24:58 +00:00
pythonrun.c PEP 3147 2010-04-17 00:19:56 +00:00
sigcheck.c
strdup.c
structmember.c Merged revisions 79763 via svnmerge from 2010-04-04 23:09:06 +00:00
symtable.c Merged revisions 76423-76424 via svnmerge from 2009-11-20 01:19:41 +00:00
sysmodule.c Issue #8124: PySys_WriteStdout() and PySys_WriteStderr() don't execute 2010-04-23 12:02:30 +00:00
thread.c Disable support for Irix threads 2009-10-24 20:43:49 +00:00
thread_cthread.h Merged revisions 78393 via svnmerge from 2010-02-24 00:10:48 +00:00
thread_foobar.h Merged revisions 78393 via svnmerge from 2010-02-24 00:10:48 +00:00
thread_lwp.h Merged revisions 78393 via svnmerge from 2010-02-24 00:10:48 +00:00
thread_nt.h Issue #7316: the acquire() method of lock objects in the :mod:threading 2010-04-14 15:44:10 +00:00
thread_os2.h Merged revisions 78393 via svnmerge from 2010-02-24 00:10:48 +00:00
thread_pth.h Merged revisions 78393 via svnmerge from 2010-02-24 00:10:48 +00:00
thread_pthread.h Make (most of) Python's tests pass under Thread Sanitizer. 2010-05-03 19:29:34 +00:00
thread_sgi.h Merged revisions 78393 via svnmerge from 2010-02-24 00:10:48 +00:00
thread_solaris.h Merged revisions 78393 via svnmerge from 2010-02-24 00:10:48 +00:00
thread_wince.h Merged revisions 78393 via svnmerge from 2010-02-24 00:10:48 +00:00
traceback.c Merged revisions 72487-72488,72879 via svnmerge from 2009-07-21 04:30:03 +00:00