{"push_id":2030430833,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"9357ef4d161e04a8148a6662229e139d0275b423","before":"bcef9176b020b9efbcf4560caf1a9219827e3ac7","commits":[{"sha":"9357ef4d161e04a8148a6662229e139d0275b423","author":{"name":"Simone Basso","email":"05f87c75ef918874b277aa49e595479bf4711097@gmail.com"},"message":"Fix for systems that don't support thread_local (#1404)\n\n[Cherry-pick of #1402 from `stable`.]\r\n\r\nThere is empirical evidence that MK v0.7.5 crashes on 32 bit iOS systems\r\nbecause thread_local isn't working properly.\r\n\r\nSee #1397.\r\n\r\nThis diff is an attempt to fix the issue in a very light way. Basically,\r\nretain the thread local semantic, but allocate a cache very time if\r\nthread_local is known to misbehave.\r\n\r\nThis fix makes the code less efficient for those devices where thread_local\r\nis not working, of course. In fact, basically, for those devices any kind of\r\ncaching is disabled.\r\n\r\nYet, given that this seems to affect a minority of our users, I've decided\r\nto go for an as-simple-as-possible fix that prevents the crash.\r\n\r\n(Also, `armv7` and `armv7s` are going to disappear anyway in the near future,\r\nbecause Apple is now mostly focusing on `arm64`.)\r\n\r\nWhile there I've refactored `libssl.hpp`'s cache factory to return a shared\r\npointer rather than a reference, in the hope that, if the shared pointer\r\nis not initialized, this will lead to an exception and not a crash.\r\n\r\nConflicts:\r\n\tsrc/libmeasurement_kit/ooni/utils.cpp","distinct":true,"url":"https://api.github.com/repos/measurement-kit/measurement-kit/commits/9357ef4d161e04a8148a6662229e139d0275b423"}]}
{"actor":{"display_login":"bassosimone"}}