Really work around RT#108390 (630e2ea8a)
( cherry-pick of 820a2936 )
A certain chain of events can still deadlock things without an explicit flush
Peter Rabbitson
7 years ago
33 | 33 |
was not sufficient to cover up RT#67843)
|
34 | 34 |
|
35 | 35 |
* Misc
|
|
36 |
- Test suite is now officially certified to work under very high random
|
|
37 |
parallelism: META x_parallel_test_certified set to true accordingly
|
36 | 38 |
- Typo fixes from downstream debian packagers (RT#112007)
|
37 | 39 |
|
38 | 40 |
0.082821 2016-02-11 17:58 (UTC)
|
83 | 83 |
|
84 | 84 |
# "say something" every 10 cycles to work around RT#108390
|
85 | 85 |
# jesus christ our tooling is such a crock of shit :(
|
86 | |
print "#\n" if not $tries % 10;
|
|
86 |
unless ( $tries % 10 ) {
|
|
87 |
|
|
88 |
# Turning on autoflush is crucial: if stars align just right buffering
|
|
89 |
# will ensure we never actually call write() underneath until the grand
|
|
90 |
# timeout is reached (and that's too long). Reproducible via
|
|
91 |
#
|
|
92 |
# DBICTEST_VERSION_WARNS_INDISCRIMINATELY=1 \
|
|
93 |
# DBICTEST_RUN_ALL_TESTS=1 \
|
|
94 |
# strace -f \
|
|
95 |
# prove -lj10 xt/extra/internals/
|
|
96 |
#
|
|
97 |
select( ( select(\*STDOUT), $|=1 )[0] );
|
|
98 |
|
|
99 |
print "#\n";
|
|
100 |
}
|
87 | 101 |
}
|
88 | 102 |
|
89 | 103 |
return $res;
|