Revert "Update jemalloc to 4.5.0"

This reverts commit 65d0be3b7b.
This commit is contained in:
arthurprs 2017-06-09 20:23:38 +02:00
parent 5fe923d434
commit 1cd077dd40
2 changed files with 24 additions and 2 deletions

@ -1 +1 @@
Subproject commit 3288e0659c08fb5006f6d6dd4b5675ed0c2c432a
Subproject commit 11bfb0dcf85f7aa92abd30524bb1e42e18d108c6

View file

@ -93,7 +93,29 @@ fn main() {
.env("AR", &ar)
.env("RANLIB", format!("{} s", ar.display()));
if target.contains("ios") {
if target.contains("windows") {
// A bit of history here, this used to be --enable-lazy-lock added in
// #14006 which was filed with jemalloc in jemalloc/jemalloc#83 which
// was also reported to MinGW:
//
// http://sourceforge.net/p/mingw-w64/bugs/395/
//
// When updating jemalloc to 4.0, however, it was found that binaries
// would exit with the status code STATUS_RESOURCE_NOT_OWNED indicating
// that a thread was unlocking a mutex it never locked. Disabling this
// "lazy lock" option seems to fix the issue, but it was enabled by
// default for MinGW targets in 13473c7 for jemalloc.
//
// As a result of all that, force disabling lazy lock on Windows, and
// after reading some code it at least *appears* that the initialization
// of mutexes is otherwise ok in jemalloc, so shouldn't cause problems
// hopefully...
//
// tl;dr: make windows behave like other platforms by disabling lazy
// locking, but requires passing an option due to a historical
// default with jemalloc.
cmd.arg("--disable-lazy-lock");
} else if target.contains("ios") {
cmd.arg("--disable-tls");
} else if target.contains("android") {
// We force android to have prefixed symbols because apparently