- 25 Feb, 2021 1 commit
-
-
Yedidya Feldblum authored
Summary: Choose a single strategy for guarding coro files. Namely, all includes are unconditional, but otherwise the bodies of all headers, sources, and tests are conditional. Reviewed By: ericniebler Differential Revision: D26647625 fbshipit-source-id: 33eeb12fb231bd7ae7fe5cb97ead16ab017b15f5
-
- 24 Feb, 2021 5 commits
-
-
Eric Niebler authored
Summary: There is a Most Vexing Parse problem in `folly/MapUtil.h`: ``` xplat/folly/MapUtil.h:44:75: error: expected expression return (pos != map.end()) ? (pos->second) : M(std::forward<Value>(dflt)); ^ ``` Fix the issue by replacing paren-init with `static_cast`. Reviewed By: yfeldblum, ispeters, ot Differential Revision: D26610359 fbshipit-source-id: 89842b9b68cebaaab43ea5f82abe7e500f98ff2c
-
Pádraig Brady authored
Summary: Newer libiberty has limits that over constrain the size of symbols that can be demangled. This applies the same adjustment in the default platform009 demangler, done in D26380825 Differential Revision: D26617797 fbshipit-source-id: 8d3e72a0807aa9ecff18d26f38c1acb83f9c051b
-
Ajanthan Asogamoorthy authored
Summary: Right now we have a single option verifyPeer_(SSLVerifyPeerEnum) that controls how verification is done regardless of how the ssl context is inevitably used (client or server). This is confusing for our users since it is 1. unclear of what the current values mean 2. It is unclear that setting an option such as VERIFY_REQ_CLIENT_CERT also sets your verification mode when running as a client.In order to make this api more clear for our users we separate out this enum to two separate enums for client and server. When this is passed to openSSL we still pass the same single mode int. Reviewed By: mingtaoy Differential Revision: D18308192 fbshipit-source-id: 5d49d3dc5117075a55681cf67b5f8e72b5e62c89
-
Vitalii Topoliuk authored
Summary: Original commit changeset: b48fe4683165 Our application can't terminate since this change was committed. 100% reproducible. Reviewed By: WillerZ Differential Revision: D26621716 fbshipit-source-id: 571ecd9a6f5286469877bf510f1f55b036df9217
-
Yair Gottdenker authored
Summary: This is the second attempt, the first one was D22958650. Decided to do a different diff as some affected files were moved from experimental/afrind/coro/h2proxy to proxygen/facebook/lib/experimental/coro/ which created some confusion while arc pulling Reviewed By: yfeldblum Differential Revision: D25432869 fbshipit-source-id: a183898302a79084d890548b9b7ecc4409f501d2
-
- 23 Feb, 2021 10 commits
-
-
Andrew Gallagher authored
Summary: `/proc/self/exe` doesn't exist on apple platforms, so provide an implementation that does. Reviewed By: yfeldblum Differential Revision: D26599826 fbshipit-source-id: e00dde59d639063e59cb97feb75caf0a49a01954
-
Yedidya Feldblum authored
Summary: Move `order_preserving_reinsertion_view` to a new header `folly/container/View.h` and revise its customization facility in terms of `folly::tag_invoke`. Reviewed By: iahs Differential Revision: D25787117 fbshipit-source-id: b7ccd3b6a1413a2639ef1beb1f1ee23bbed045e3
-
Udip Pant authored
Summary: This'll move getdeps dependency for katran to 0.3 (which is already the case for travis build) Reviewed By: avasylev Differential Revision: D26129525 fbshipit-source-id: ec9d0615a3e02d75454a3f9dd974ac5c7589e40a
-
Dan Melnic authored
Summary: IoUringBackend benchmarks Reviewed By: kevin-vigor Differential Revision: D26594012 fbshipit-source-id: c6a08e6ec13b736c32619958713706118e2f1a49
-
Yedidya Feldblum authored
Summary: No need to overload coroutine `promise_type::return_value` to handle initializer list expressions - just template and default the parameter. Reviewed By: Orvid Differential Revision: D26508901 fbshipit-source-id: 61c4a2225355b0044638cd89b9153d599317a453
-
Misha Shneerson authored
Summary: When EventBase is destructed, the underlying local storage should be destructed prior to event loop being destroyed. Reviewed By: andriigrynenko Differential Revision: D26583298 fbshipit-source-id: 9bfb8442b2a827aa2b3564b27ea765ec1e7b26a2
-
Orvid King authored
Summary: Owing to a set of bugs, it is not currently possible to actually declare ranges::enable_view without actually defining it, so we have to include the actual definition when we're in compilation units with it available. If the definition is not available, then the `const` form is sufficient to keep things compiling. Reviewed By: yfeldblum Differential Revision: D26337214 fbshipit-source-id: fb042b62967e3e6f536e8268e1b6dd6ccd20b810
-
Yedidya Feldblum authored
Summary: Some compilers fail when `friend` declarations have mismatched `constexpr`-specifiers. Reviewed By: Mizuchi Differential Revision: D26601032 fbshipit-source-id: a49e327ff9353ddb21eac96776f97d4089c85374
-
Yedidya Feldblum authored
Summary: Use `std::filesystem` or `std::experimental::filesystem`, via `folly/portability/Filesystem.h`, in `folly/test/FileTest.cpp`. Replaces the use of `boost::filesystem`. Reviewed By: Orvid Differential Revision: D26572916 fbshipit-source-id: f769e00b2772f3bfaed899f5694d89db87089e35
-
Yedidya Feldblum authored
Summary: Make the implementation of `folly::fs::lexically_normal` match C++17 `std::filesystem::path::lexically_normal`. The implementation from `boost::filesystem::path::lexically_normal` is easy to fall back on but has some differences. The implementation is copied mutatis mutandis from https://github.com/gulrak/filesystem/ at tag v1.5.0, in which `ghc::filesystem` is a complete portable standalone implementation of the `std::filesystem` spec and released under the MIT license. Reviewed By: Orvid Differential Revision: D26572520 fbshipit-source-id: 5ce03f37c078ee4f62e3480d4abc259199867c8e
-
- 22 Feb, 2021 5 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Prefer to nest helper functions in coro tests within the specific tests which use them. Reviewed By: ispeters, Orvid Differential Revision: D20324066 fbshipit-source-id: 4134145c406f2d1fdeaddf9a7d244c1bd25ec60b
-
Yedidya Feldblum authored
Summary: Some versions of gcc miscompile the code in the parallel-map exception test. Work around the miscompile by adding an extra log line. Reviewed By: Orvid Differential Revision: D26509079 fbshipit-source-id: 1474437d96aeabad0294bcb395b7baec229eb9ba
-
Yedidya Feldblum authored
Summary: The CMake function `check_cxx_compiler_flag` is snake-case rather than uppercase. Reviewed By: vitaut Differential Revision: D26573998 fbshipit-source-id: 91d5e2cea933d35967d013b2344e50f52fb6ba77
-
Yedidya Feldblum authored
Summary: Tweak a test that relies on hardcoding the expected result of `std::exception().what()` instead to call that and use the result without hardcoding it. Differential Revision: D26573226 fbshipit-source-id: 3802d12186c96b864e2680d99f5cfca185235f8d
-
Misha Shneerson authored
Reviewed By: andriigrynenko Differential Revision: D26572552 fbshipit-source-id: 035e1313cd4dec070555b5cd41efc58a0b4a948a
-
- 20 Feb, 2021 4 commits
-
-
Yedidya Feldblum authored
Summary: Revise `EventBaseLocal` interface to export the suite `emplace`, `try_emplace`, `emplace_with`, and `try_emplace_with`, and adding initializer-list overloads for completeness. This mirrors the interface of `DelayedInit`. Differential Revision: D26262870 fbshipit-source-id: 951e2f781a1b5546d96adb2e77aa1cadfbff2d6b
-
Yair Gottdenker authored
Reviewed By: yfeldblum Differential Revision: D25514804 fbshipit-source-id: 7e6ad5c6063d2cf5047f656c0f2336b34576c60b
-
Andrii Grynenko authored
Summary: EventBaseLoopController does this already. This way it's safe to destroy FiberManager even if some local callback is left in the executor. Differential Revision: D26563934 fbshipit-source-id: 0845e5c532634fa9c53694cd67e983886cea82de
-
Yedidya Feldblum authored
Summary: A portability header for `<filesystem>` backed up by `<experimental/filesystem>`. The only thing it does is figure out the right header to include and the right namespace to import so that folly code which already may assume C++17 can use names via `folly::fs`. And polyfills `lexically_normal`. Reviewed By: Orvid Differential Revision: D26453988 fbshipit-source-id: 7a7b2e7a312f5d0438d60bc866b109240d096520
-
- 19 Feb, 2021 7 commits
-
-
Robin Cheng authored
Summary: Technically speaking the contract of isRunning() is unclear on whether it can be used as a synchronization mechanism; it could, e.g. be used solely for diagnostics purposes, in which case memory_order_relaxed would be enough. But it is used at least to implement waitUntilRunning(), so memory_order_acquire/memory_order_release is needed to achieve proper synchronization. Reviewed By: yfeldblum Differential Revision: D26436697 fbshipit-source-id: 2be07c473e1cb286e6044fa677304816921e888d
-
Nick Terrell authored
Summary: Currently, the first thing you want to do when getting a context from the pool is reset it, because you don't know the state the last user left it in. This is bug prone, because you may forget to reset the context. Instead, the pool should handle the resetting logic, so it cannot be forgotten. This diff adds a `Resetter` to the pool, and the reset function is called every time a context is returned to the pool. I chose to reset when returning to the pool instead of when retrieving a context because that gives the context a chance to free any resources it doesn't expect to need in the future before it potentially becomres idle. Reviewed By: Cyan4973 Differential Revision: D26439710 fbshipit-source-id: 8b9afa3db2fda4d167f0fd5307791e8a8a4f283c
-
Nick Terrell authored
Summary: We already cache the contexts in the context pool. We don't also need to cache the contexts in the `Codec` when the user keeps the codec around. This will allow us to better utilize the contexts, and potentially reduce memory usage. Reviewed By: felixhandte Differential Revision: D26356275 fbshipit-source-id: 6d80326f469de61094478c73b6fe557eebcd7a22
-
Yedidya Feldblum authored
Summary: Mark the param to `folly::type_info_of` param as `[[maybe_unused]]` since, when RTTI is unavailable, it is unused. Differential Revision: D26537864 fbshipit-source-id: 3fd0a1bb0d3ecbbcdc5e07f153e321a0b8537478
-
Yedidya Feldblum authored
Summary: Let `FOLLY_MAYBE_UNUSED` which wraps `[[maybe_unused]]` support MSVC even when the latter misreports `__cplusplus`. Differential Revision: D26537706 fbshipit-source-id: 37554b7f9d27332088b72de41e53a5b85ef46327
-
Yedidya Feldblum authored
Summary: This permits removal of the `_getptd()`-based implementation of `folly::uncaught_exceptions` sometimes used on windows, in favor of forwarding to `std::uncaught_exceptions`. Reviewed By: akrieger Differential Revision: D26509011 fbshipit-source-id: b8fd14df91fcd849420d3c52328cb080b528245b
-
Misha Shneerson authored
Reviewed By: andriigrynenko Differential Revision: D26497717 fbshipit-source-id: 35307fce7f9e85882f8f9e5a6bdfe651122727a3
-
- 18 Feb, 2021 5 commits
-
-
Yedidya Feldblum authored
Summary: Ensure all the tests in `folly/lang/test/` are in the cmake build. For disambiguation, prefix them all with `lang_`. Reviewed By: Orvid Differential Revision: D26496837 fbshipit-source-id: 185a7990c2c7f535123229a07436e901dca6ae7f
-
Orvid King authored
Summary: This returns a char* so correct return is nullptr, not 0. Reviewed By: usikder Differential Revision: D26122982 fbshipit-source-id: 8c62520403fce966f83939be7cc03f6dc6be4aee
-
Yedidya Feldblum authored
Summary: Cut log lines in `folly::uncaught_exceptions` test cases. Having log lines is helpful when debugging test failures but we can always add them in when necessary. This makes running the test binary directly less noisy, and running test binaries directly is an important case not to be overlooked. Reviewed By: markisaa Differential Revision: D26504200 fbshipit-source-id: 00e06e1396b9ccc9cdd739ace1007726ebaa3d88
-
Yedidya Feldblum authored
Summary: A show-build-dir subcommand. Possibly useful for building a project and then running only one test or benchmark binary directly. Reviewed By: wez Differential Revision: D26502869 fbshipit-source-id: 0d8f6c42a2bbeb2440503a39c7fc770e3b3e4fff
-
Yedidya Feldblum authored
Summary: Cut `std::hash` specialization in folly for `signed __int128` and `unsigned __int128`. There are cases where folly does polyfill things in the global and standard namespaces, but in order for folly to play nicely with other libraries this practice is overall to be avoided. Reviewed By: nlutsenko Differential Revision: D26455137 fbshipit-source-id: 948140513b8daf6fe777d04ea42346d69c5eb03f
-
- 17 Feb, 2021 3 commits
-
-
Yedidya Feldblum authored
Summary: Avoid the use of fancy macros in the `folly::enumerate` test suite in order to facilitate cmake's gtest integration. Reviewed By: Orvid Differential Revision: D26477530 fbshipit-source-id: 1838709e76016c389b052a9523a0681c58b8af96
-
Yedidya Feldblum authored
Summary: Cut the `EventBaseLocal::emplace` overload taking a pointer since it is unused and to consolidate on the approach of not letting internals leak. Differential Revision: D26246689 fbshipit-source-id: 0d9dc1bfcc3d37dc980142b221ee4443b98205a3
-
Lee Howes authored
Summary: Use the global immutable executor by default and remove the default entirely for the deprecated form. Reviewed By: yfeldblum Differential Revision: D26414638 fbshipit-source-id: b48fe4683165e7f29e8003560f2917e143138bb0
-