stewartsmith / libeatmydata

libeatmydata - because fsync() should be a no-op
https://www.flamingspork.com/projects/libeatmydata/
GNU General Public License v3.0
409 stars 21 forks source link

Fix issues with parallel make (Closes #10) #11

Closed natevc closed 6 years ago

natevc commented 6 years ago

There appears to be a race condition that occurs when using multithreaded make. The test_run.sh script by default always uses the same filename, test.result.run, to store and check test results. Since the tests are handled by make, if these tests are run in parallel, this file will be repeatedly clobbered by each concurrent thread. I was able to fix this by prepending the name of the test to the names of the test.result.run files created by each invocation of test_run.sh. (e.g.: grep "$SYNC_IN_TRACE" $name-test.result.run)

These patches close #10, and do not affect code or compilation in any way.

(Cross-posted from AUR)

natevc commented 6 years ago

Oh. That's embarrassing. I should have tried the Docker build locally; my bad. Based on my testing, it would appear that Travis' Meltdown patches prohibit the usage of ptrace and the like by default unless sudo: required is given in .travis.yml. (see travis-ci/travis-ci#9061)

stewartsmith commented 6 years ago

Cheers for that. Casually embarrassing I hadn't noticed before.

natevc commented 6 years ago

No worries.