- 11 Jan, 2020 1 commit
-
-
Yedidya Feldblum authored
Summary: [Folly] Fix evaluation-order assumption in futures varidic collect - argument evaluation order is unspecified so it must not be relied on when side-effects must occur in a specific order. Reviewed By: lewissbaker Differential Revision: D19347873 fbshipit-source-id: db4326d995a241619f96ff2bacdf5a5fa2332091
-
- 10 Jan, 2020 4 commits
-
-
Jason Fried authored
Summary: There have been weird edge cases we haven't tracked down yet that saw python segfaulting at shutdown, caused by drive() run from the destructor of AsyncioExecutor after Python had run Py_Finalize shutting down the runtime. This fix uses new checks from Python >=3.7 to check if Python is finalizing Reviewed By: yfeldblum, nanshu Differential Revision: D19321677 fbshipit-source-id: 79a6f95df383a86d80e064eb55a8a81e29d50ace
-
Paul McKenney authored
Summary: Pull Request resolved: https://github.com/facebook/folly/pull/1305 The current documentation for Folly::rcu_domain is lacking, so this commit adds a comment header. It also updates the Rcu.h header comment Reviewed By: vitaut Differential Revision: D18604342 fbshipit-source-id: 165b43b450b90d6dbcf62b0cb4b0231fe38b7372
-
Igor Sugak authored
Reviewed By: yfeldblum Differential Revision: D19337438 fbshipit-source-id: 361322c02824c078a92b9cdd36ffacd0869580b0
-
Maged Michael authored
Summary: Make the behavior of reclamation using an executor be the same as without an executor, in particular reclamation of the tagged list is skipped if it is found to be locked. Reviewed By: davidtgoldblatt Differential Revision: D19325821 fbshipit-source-id: 2eae06b320717aa1122d7cc7afdd4c58791fbfa8
-
- 09 Jan, 2020 6 commits
-
-
generatedunixname89002005287564 authored
Reviewed By: yfeldblum Differential Revision: D19328769 fbshipit-source-id: 5d929eaa3bf4e2d0a63b8f1d95a613fee68525b4
-
Dan Melnic authored
Summary: Fix mem leak when running in overflow mode Reviewed By: danobi Differential Revision: D19333236 fbshipit-source-id: f8a93113d095cb227808c9c8e5704112c7f5c4fb
-
Eric Niebler authored
Summary: `folly::cold_detail::ColdClass` was marking things (like `folly::Unexpected`) cold, but at the cost of inhibiting the inliner from doing its job. This is leading to bad codegen, which offsets any small wins we mind get for the `cold` attribute. Reviewed By: yfeldblum Differential Revision: D19324159 fbshipit-source-id: 7ed431b6c9d6e963c3bf438c707fa6cf6a38bf9d
-
Wez Furlong authored
Summary: Don't error out if we can't read the ELF/MACH-O header; just treat it is not an object. Reviewed By: chadaustin, simpkins Differential Revision: D19253434 fbshipit-source-id: c5ecc7f0bc7a20e2611b7e2ff754355155f095da
-
Gabriel Russo authored
Reviewed By: yfeldblum Differential Revision: D19312260 fbshipit-source-id: 9751f70ac83d801cbc8708741e608f73cad8a464
-
Nick Terrell authored
Summary: We haven't found them super useful, so lets delete them and replace them with USDTs. The problems with the counters are: * We only have the aggregated results. We can't look at a particular process, stack trace, etc. * The speed reported isn't accurate. Reviewed By: yfeldblum Differential Revision: D18319361 fbshipit-source-id: 778213fb63eae90cc7900b075e054c021ecf561e
-
- 08 Jan, 2020 3 commits
-
-
Dan Melnic authored
Add IP_BIND_ADDRESS_NO_PORT AsyncSocket support. Add the ability to set the socket options pre and post bind() Summary: Add IP_BIND_ADDRESS_NO_PORT AsyncSocket support. Add the ability to set the socket options pre and post bind() (Note: this ignores all push blocking failures!) Reviewed By: danobi Differential Revision: D19315183 fbshipit-source-id: a8dc330c1f585766a00ba7724dcd9f7a6e64bbfb
-
Eric Hammerle authored
Summary: AsyncSSLSocket::connect() creates a new instance of AsyncSSLSocketConnector referred with a raw pointer and passes it to AsyncSocket::connect(). AsyncSSLSocket assumed a callback irrespective of connection success or failure so that this raw pointer will be properly disposed off. However currently, if a connect attempt is cancelled the parent class may end up clearing the connect callback without invoking a connection error, thereby causing a leak. Since the cancelConnect() function also cancels the callback, the raw pointer should be cleaned up during cancellation. Reviewed By: knekritz Differential Revision: D18365027 fbshipit-source-id: 2cc171fc1a026b771dcb0bdd7c45b7ee450b97f7
-
Yedidya Feldblum authored
Summary: [Folly] `folly::atomic_ref`, a partial backport of `std::atomic_ref` from C++20. Reviewed By: davidtgoldblatt Differential Revision: D18413170 fbshipit-source-id: dddaabd69d2119ee695c75b214ca1c0204edfe6b
-
- 07 Jan, 2020 3 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Fix some outdated comments referring to `TAsyncTransport`. Reviewed By: rhodo Differential Revision: D19287080 fbshipit-source-id: 7ed234f4e5c9e17d1a3fd645f851129f4ac86b8f
-
Andrii Vasylevskyi authored
Summary: wasi-libc already defines mmsghdr struct https://github.com/CraneStation/wasi-libc/blob/d4db3fa2120b27e01aac8f5f1b749dbbe1344880/libc-top-half/musl/include/sys/socket.h#L33 In folly we currently check for MSG_WAITFORONE to avoid redefinition, but MSG_WAITFORONE and bunch of other things are excluded from wasi-libc. So no to get to deep into rabbit hole just extending exclusion for wasm32. Reviewed By: yfeldblum Differential Revision: D19269397 fbshipit-source-id: 1bdd8344a2bec8a0b5be48bfedc94cc0d9a8635a
-
Yedidya Feldblum authored
Summary: [Folly] Cut unused `AsyncSocket::isBufferMutovable_` and constants `SSL_MODE_MOVE_BUFFER_OWNERSHIP` and `kOpenSslModeMoveBufferOwnership`. Reviewed By: w-o-o Differential Revision: D19286264 fbshipit-source-id: 57e28e65cf86fd550fa8fe81e1657a2e9409e459
-
- 06 Jan, 2020 5 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Rename `FB_STRINGIZE` to `FOLLY_PP_STRINGIZE`. Reviewed By: Orvid Differential Revision: D19229502 fbshipit-source-id: 8dfdb3d9d576ce6b08d35747136c93a37a31d882
-
Rosen Penev authored
Summary: Found with readability-inconsistent-declaration-parameter-name Signed-off-by: Rosen Penev <rosenp@gmail.com> Pull Request resolved: https://github.com/facebook/folly/pull/1295 Reviewed By: Orvid Differential Revision: D19249469 Pulled By: yfeldblum fbshipit-source-id: f0e98bd3f6095c20e5c25220cf814a8347e24792
-
Yedidya Feldblum authored
Summary: [Folly] Write `max_align_v` and `max_align_t` using C++14 `constexpr` syntax v.s. using the recursive approach required by C++11. Instantiates fewer function templates in each translation unit. Reviewed By: Orvid Differential Revision: D19229027 fbshipit-source-id: e01ac2d428a42a6e4f86f55f5528c42f9b70cd9f
-
Yedidya Feldblum authored
Summary: [Folly] Cut redundant anonymous namespace in compression code. Reviewed By: Orvid Differential Revision: D19281237 fbshipit-source-id: 634c199f307682feced2e45e1f22a34766db0ce1
-
Rosen Penev authored
Summary: Found with readability-static-definition-in-anonymous-namespace Signed-off-by: Rosen Penev <rosenp@gmail.com> Pull Request resolved: https://github.com/facebook/folly/pull/1303 Reviewed By: Orvid Differential Revision: D19281234 Pulled By: yfeldblum fbshipit-source-id: 1bbf5966f2c7c05d28f32e62af9f2e0dc37788f6
-
- 05 Jan, 2020 1 commit
-
-
Igor Sugak authored
Summary: UndefinedBehaviorSanitizer: implicit-integer-truncation folly/compression/test/CompressionTest.cpp:111:34 ``` Note, this is not an undefined behavior, but usually is unintentional. In this case it's intentional, add an explicit static_cast to the destination type. Reviewed By: yfeldblum Differential Revision: D19281230 fbshipit-source-id: 5374028e551b96e757fbb9f63af2cbbd8ee100e6
-
- 04 Jan, 2020 1 commit
-
-
Rosen Penev authored
Summary: Found with modernize-use-nullptr Signed-off-by: Rosen Penev <rosenp@gmail.com> Pull Request resolved: https://github.com/facebook/folly/pull/1300 Differential Revision: D19271712 Pulled By: yfeldblum fbshipit-source-id: e61fe0252a78c0acc3bef57b3d1f152caa2dcd2a
-
- 03 Jan, 2020 12 commits
-
-
Dan Melnic authored
Summary: Use function ptr instead of std::function (Note: this ignores all push blocking failures!) Reviewed By: yfeldblum, kevin-vigor Differential Revision: D19277936 fbshipit-source-id: 59c2c79ed07690ffe69461e6a90dbf8b297e51fa
-
Yedidya Feldblum authored
Summary: [Folly] DRY the applicability traits tests a little by extracting a type alias. Reviewed By: markisaa Differential Revision: D18748005 fbshipit-source-id: 15d0ceec078a925e7205e7d9398b55cd03004a07
-
Ján authored
Summary: D18162775 added this code, which doesn't compile on OpenSSL 1.0.1 (e.g. on Debian 8, which is still supported). Differential Revision: D19032946 fbshipit-source-id: 0f005186e4c9dbaaa76ffce2b62150d92135801b
-
Songqiao Su authored
Summary: shared_ptr cycle triggered by inconsistent destructor/move constructor Reviewed By: yfeldblum, andriigrynenko Differential Revision: D19206912 fbshipit-source-id: 2b5dcf639eb2e8f9d4ade9511cd9093d7565d482
-
Dan Melnic authored
Summary: Add a BackendCb callback to support multiple types of backend operations (not limited to poll) Reviewed By: danobi Differential Revision: D19275105 fbshipit-source-id: 2eba28b429da4bc237e9c2c2a7e5d0505bd20961
-
Maged Michael authored
Summary: Add function to make the default hazptr domain use a CPUThreadPoolExecutor. Reviewed By: davidtgoldblatt Differential Revision: D19107084 fbshipit-source-id: 873779d7b9314e5920f2542ef23bb707b47a4e10
-
Maged Michael authored
Summary: Eliminate data race reported in https://github.com/facebook/folly/issues/1280 Reviewed By: davidtgoldblatt Differential Revision: D19072137 fbshipit-source-id: ca2431b8b3b6114694f25024cac0cc0433acfe8b
-
Rosen Penev authored
Summary: Found with modernize-pass-by-value Signed-off-by: Rosen Penev <rosenp@gmail.com> Pull Request resolved: https://github.com/facebook/folly/pull/1299 Differential Revision: D19270977 Pulled By: yfeldblum fbshipit-source-id: 77c33a3425376838fa3c7b04b166137eb74f63ba
-
Maged Michael authored
Summary: Add support for using an executor for asynchronous reclamation. This enables doing asynchronous reclamation on a dedicated executor, which serves two purposes: (1) Avoid unpredictable latencies for regular thread operations (that happen to trigger synchronous reclamation). (2) Avoid deadlock that may arise from regular threads running deleters that may require resources held by such threads. By default the QueuedImmediateExecutor is used. A member function set_executor allows the use of different executors. The intent is to use a thread pool executor. In order to avoid cyclical dependency, subsequent diffs (1) add in a separate library a function make the default hazptr domain use a thread pool executor and (2) add a call to such function to folly/init. Reviewed By: davidtgoldblatt Differential Revision: D19107049 fbshipit-source-id: 540e9d3aea786a8ece7958d6c09b9429e2a2f4a5
-
Yedidya Feldblum authored
Summary: [Folly] Ensure global inits in Random are static-safe by using the machinery of `static` local variables. The default mutex type used with `once_flag` is `SharedMutex`, but that mutex type is not trivially-destructible. An alternative mutex type might be trivially-destructible, such as `MicroLock`, so an alternative solution could be to use `once_flag` with `MicroLock`. Reviewed By: ot, luciang Differential Revision: D19207285 fbshipit-source-id: a7d817cf8521337543e3e27bc0e0e61241714ced
-
Maged Michael authored
Summary: Declare gflag to enable turning it on and off at run time. Added folly_ prefix to gflag name to reduce name pollution. Reviewed By: davidtgoldblatt Differential Revision: D19144459 fbshipit-source-id: 1e82cb102e47fea856952d1e630c03baf38adf1d
-
Yedidya Feldblum authored
Summary: [Folly] `FOLLY_SAFE_PCHECK`, for reporting errors from C standard library functions which may set errno from within code which must be reentrant. Reviewed By: nbronson Differential Revision: D19222785 fbshipit-source-id: 532ccee39c9d180b9b17edbd31517c09024539d7
-
- 02 Jan, 2020 3 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Avoid unnecessary virtualization in `MemoryMapping`. Reviewed By: Orvid Differential Revision: D19261862 fbshipit-source-id: 520f1182477bc723c8f42505b30fc09e00758d05
-
Lukas Piatkowski authored
Summary: This change also introduces a dummy no-op stats implementation for non-fbcode builds. Reviewed By: farnz Differential Revision: D19193954 fbshipit-source-id: f513368a2387987bf129ddf935217c90b7c84f2a
-
James Donald authored
Summary: Note: also making the `__GNUC__ || __clang__` nearby part in Pretty.h the same so that the header doesn't appear inconsistent, likewise for Hardware.h Reviewed By: yfeldblum Differential Revision: D19237732 fbshipit-source-id: bf3270ddf2102ea722be1eb1a557234d264f9af7
-
- 01 Jan, 2020 1 commit
-
-
Rosen Penev authored
Summary: Found with readability-const-return-typ Signed-off-by: Rosen Penev <rosenp@gmail.com> Pull Request resolved: https://github.com/facebook/folly/pull/1297 Reviewed By: Orvid Differential Revision: D19258433 Pulled By: yfeldblum fbshipit-source-id: f544c9168887c2ecb27d59ab799cda05c9a49a98
-