- 20 Mar, 2019 1 commit
-
-
Rob Sherwood authored
Summary: The current logic for "which gflags library should we use" checks for the first library (e.g., libgflags vs. libgflags-shared) listed as a TARGET. Unfortunately, on some number of systems, the gflags-config.cmake (read: the file that is supposed to tell you how to use gflags with cmake) actually defines (but doesn't use!) libraries that don't exist (!) so this logic breaks. Instead, use the system defined gflags_LIBRARIES variable which explicitly tells us which library to use. Reviewed By: yfeldblum, simpkins Differential Revision: D14512966 fbshipit-source-id: add4ecf6bade502b2d12aad2bdfcf0476eeba465
-
- 19 Mar, 2019 6 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Fix odd `UserMetric` design in `folly/Benchmark.h`. Reviewed By: phoad Differential Revision: D14494202 fbshipit-source-id: c1be1d9b5bdfe07677713ef00401c85270bbe627
-
Lewis Baker authored
Summary: Adds two new functions to folly::coro for concurrently awaiting a fixed number of sub-tasks. * `folly::coro::collectAll(tasks...)` * `folly::coro::collectAllTry(tasks...)` Both can be used to concurrently await multiple input tasks. The difference is in how they report the results. `collectAll()` produces a tuple of the result values for each of the input operations. If any of the input operations fails with an exception then the whole operation fails with an exception (which one is unspecified) any successful results are discarded. `collectAllTry()` produces a tuple of `Try<T>` objects regardless of whether any of the input operations failed with an exception. The individual result objects can then be queried for the success/failure, allowing the caller to handle partial failure and/or determine which operation(s) failed. Reviewed By: andriigrynenko Differential Revision: D14334714 fbshipit-source-id: 22eb51e2198be42e77677a066bfbc15e1c7eb7dd
-
deryck authored
Summary: Compile error on Linux 2.6.32-754.6.3.el6.x86_64 /gcc 7.4/NetOps.cpp (issue #1011) Pull Request resolved: https://github.com/facebook/folly/pull/1053 Reviewed By: Orvid Differential Revision: D14454590 Pulled By: yfeldblum fbshipit-source-id: 9c4dccfa30291dd0fb830cc2417c17568ae4fde3
-
Matthieu Martin authored
Summary: This change enables to acquire the executor from the current FiberManager when using ExecutorLoopController (which is already possible to do with the EventBase's loop controller). Reviewed By: andriigrynenko Differential Revision: D14515799 fbshipit-source-id: 3b9e48450bf58ea94bebab50dbbcfd7720f90d61
-
Joe Loser authored
Summary: - For CMake 3.12 and above, CMP0075 is available which allows the macro `check_include_file`, `check_include_files`, and `check_include_files_cxx` to prefer to link the check executable to the libraries listed in the `CMAKE_REQUIRED_LIBRARIES` variable. - For CMake 3.13.4, not having this policy set results in a warning such as the one below. ``` CMake Warning (dev) at /usr/local/Cellar/cmake/3.14.0/share/cmake/Modules/CheckIncludeFileCXX.cmake:79 (message): Policy CMP0075 is not set: Include file check macros honor CMAKE_REQUIRED_LIBRARIES. Run "cmake --help-policy CMP0075" for policy details. Use the cmake_policy command to set the policy and suppress this warning. CMAKE_REQUIRED_LIBRARIES is set to: Threads::Threads;gflags_shared;/usr/lib/libssl.dylib;/usr/local/Cellar/openssl/1.0.2q/lib/libcrypto.dylib For compatibility with CMake 3.11 and below this check is ignoring it. Call Stack (most recent call first): CMake/folly-deps.cmake:144 (CHECK_INCLUDE_FILE_CXX) CMakeLists.txt:90 (include) This warning is for project developers. Use -Wno-dev to suppress it. ``` - This patch sets the policy to the new behavior which means we will honor `CMAKE_REQUIRED_LIBRARIES` in the include file check macros now. - The warning is now gone for those using CMake 3.13.4 or later. Pull Request resolved: https://github.com/facebook/folly/pull/1066 Reviewed By: Orvid Differential Revision: D14500811 Pulled By: yfeldblum fbshipit-source-id: 767bafbc6e15099a85cd0a5556e7f50f7c4fd0eb
-
Steven Peters authored
Summary: The macOS 10.14 build is failing in homebrew with some compilation errors in the hash/detail files: * https://github.com/Homebrew/homebrew-core/pull/37954 * https://jenkins.brew.sh/job/Homebrew%20Core%20Pull%20Requests/39386/version=mojave/testReport/junit/brew-test-bot/mojave/install___build_bottle_folly/ * https://github.com/Homebrew/homebrew-core/pull/35982 ~~~ /tmp/folly-20190114-14797-1m0rah5/folly-2019.01.07.00/folly/hash/detail/ChecksumDetail.cpp:181:28: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul y0 = _mm_xor_si128(y0, _mm_clmulepi64_si128(x0, multipliers_4, 0x00)); ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include/__wmmintrin_pclmul.h:54:13: note: expanded from macro '_mm_clmulepi64_si128' ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \ ^ ~~~ I noticed a comment by passy in https://github.com/facebook/flipper/pull/125 referencing this same error message "needs target feature pclmul", and the comment also said that it "should be easily fixable by ensuring that -mpclmul is added to the CFLAGS". I had trouble identifying the system architecture as he suggested, but figured that we could just check if the compiler supports that flag and add it for those specific source files if so. This fixes the 10.14 build for me. It would be nice to set up CI to keep this build working, but it's difficult to currently set up CI for 10.14 without your own hardware, since travis and azure pipelines only support up to 10.13. Pull Request resolved: https://github.com/facebook/folly/pull/1067 Reviewed By: Orvid Differential Revision: D14500840 Pulled By: yfeldblum fbshipit-source-id: 939fb6d495b05491af6e95adc16a0d0bbe86829f
-
- 18 Mar, 2019 9 commits
-
-
Joe Loser authored
Summary: - Fix a few shellcheck warnings on `docker_build_with_ccache.sh`. - This will help when new changes are made to this script as shellcheck is run internally. Pull Request resolved: https://github.com/facebook/folly/pull/1054 Reviewed By: yns88 Differential Revision: D14454554 Pulled By: yfeldblum fbshipit-source-id: f4b692f21d2478f9db06b478ce56c1ba57fa59e0
-
Andrii Grynenko authored
Summary: This allows us to always use a dummy keep-alive for all awaitables from coro::Task. We also don't need a custom await_transform for coro::Task anymore. Reviewed By: lewissbaker Differential Revision: D14491068 fbshipit-source-id: 0e931c2ae9f52da770b08207e551401e4a3778cb
-
Aaryaman Sagar authored
Summary: Title, remove debugging code that does not seem to be needed anymore Reviewed By: yfeldblum, davidtgoldblatt Differential Revision: D14267545 fbshipit-source-id: df57e4b85d850e344b12ce1768a1e1a56ae72bce
-
Yedidya Feldblum authored
Summary: [Folly] Fix fibers build - `Semaphore::future_wait` declared but undefined. The `#if` guarding related code is overly aggressive. Reviewed By: Orvid Differential Revision: D14498252 fbshipit-source-id: 4183fc67fece0e2bdad1fab5c83e7b9a50ae847b
-
Neel Goyal authored
Summary: Add a basic transport cert with only the needed fields. Reviewed By: knekritz Differential Revision: D14429070 fbshipit-source-id: 6728310f75a17e3640025f689b69ffcc3f829522
-
Jimmy Lu authored
Summary: as title. Disabling -Wconversion since it can be triggered pretty easily. We've run into this a lot in cachelib code. Until now, we've manually disabled -Wconversion around the header for folly/Format.h in our own code. But I think it's much easier just to disable it inside Format-inl.h itself. Reviewed By: yfeldblum Differential Revision: D14471124 fbshipit-source-id: df6bcbd57cbbdb0e6a762eaa5d11548c9e614e1b
-
Joe Loser authored
Summary: - Implement `contains(F14HashToken const& token, key_type const& key)` similar to the C++20 `contains(key_type const& key, size_t hash)` interface. Parameter order follows existing F14 interface, even though it differs from the C++20 interface. - Implement heterogeneous lookup overloads of `contains` of the above. Pull Request resolved: https://github.com/facebook/folly/pull/1063 Reviewed By: nbronson Differential Revision: D14500835 Pulled By: yfeldblum fbshipit-source-id: 85b0fbb66c2db948958e67105cf8ef98851ee0a6
-
Yedidya Feldblum authored
Summary: [Folly] `conditional_t`, like `std::conditional_t` but where the result can be used in deducible contexts. Reviewed By: nbronson Differential Revision: D14477367 fbshipit-source-id: d0a9da7f0e1584a45a0709e80e2b8afb2851214c
-
Aaryaman Sagar authored
Summary: as title Reviewed By: yfeldblum Differential Revision: D14476923 fbshipit-source-id: 5ce16adb2402720b16acd12ab0003c1e93395f6c
-
- 17 Mar, 2019 1 commit
-
-
Andrii Grynenko authored
Reviewed By: amajeed1 Differential Revision: D14496345 fbshipit-source-id: 985e5299930c3812e7510f6dfe7bdcd3ce3519cf
-
- 16 Mar, 2019 4 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Remove include of `glog` from various places. Reviewed By: spalamarchuk Differential Revision: D14494311 fbshipit-source-id: 122b63a726a08802d7b4ef6b55b304e9800c258d
-
Joe Loser authored
Summary: - Fix a few shellcheck warnings on `bootstrap-osx-homebrew.sh`. - This will help when new changes are made to this script as shellcheck is run internally. Pull Request resolved: https://github.com/facebook/folly/pull/1058 Differential Revision: D14493361 Pulled By: yfeldblum fbshipit-source-id: e46f9d0e329fd1ebe16820bdb5614c53363c5dfe
-
Andrii Grynenko authored
Reviewed By: A5he Differential Revision: D14396454 fbshipit-source-id: a00b1eab527237c885e04413db1a0a413121d91b
-
Andrii Grynenko authored
Summary: This makes it possible to add future APIs to primitives built using fibers::Baton. Reviewed By: A5he Differential Revision: D14396094 fbshipit-source-id: bf64a31c25ed4dd92b8c484cb4256078efdc6262
-
- 15 Mar, 2019 4 commits
-
-
Joe Loser authored
Summary: - Remove unneeded typename for a using alias in `F14Table.h`. Pull Request resolved: https://github.com/facebook/folly/pull/1056 Reviewed By: nbronson Differential Revision: D14473219 Pulled By: yfeldblum fbshipit-source-id: a6ac26c42dbca219ce123aff00b1ee7079068007
-
James Gill authored
Summary: contains() is part of the c++20 spec. This implements it, and refactors count() to use contains(). Reviewed By: nbronson Differential Revision: D14426805 fbshipit-source-id: 2435124e9c0a8eeb4e53109f0ddac884c227c781
-
James Gill authored
Summary: The heterogenous count() method currently returns size_type, unlike similar methods (normal count(), F14Map.count() methods). This standardizes it. Reviewed By: nbronson Differential Revision: D14426807 fbshipit-source-id: 140be39fcda99c9f82ced3962ddcbdd1d5f53ba6
-
Fuat Geleri authored
Summary: When a user counter is added to benchmarks, the counter's value is written as a bare integer. This change gives chance to user to either still keep it reported as bare integer, a time value or a metric value. Differential Revision: D14451341 fbshipit-source-id: 95e64a89c201bb385d9a403f3442fa70c2ac7e2a
-
- 14 Mar, 2019 1 commit
-
-
Ilya Maykov authored
Summary: Make AsyncIOTest.cpp conditionally depend on $LIBAIO_FOUND in CMakeLists.txt. Reviewed By: yfeldblum Differential Revision: D14365682 fbshipit-source-id: 5ac7dc25174ab48ed1de8846956e69c7759fc9bd
-
- 13 Mar, 2019 3 commits
-
-
Kirk Shoop authored
Summary: convert all executors in pushmi and all executor concepts and usage in pushmi to use `schedule()` Reviewed By: ericniebler Differential Revision: D13463902 fbshipit-source-id: 01eac4fe0b5cd49afbd95118db769db59a3b968c
-
Orvid King authored
Summary: It's dead. Reviewed By: yfeldblum Differential Revision: D14425042 fbshipit-source-id: 098de614955eedd7ccc733858db85b997d01d9e0
-
Orvid King authored
Summary: At least make it possible to do things correctly. Reviewed By: yfeldblum, LeeHowes Differential Revision: D14426753 fbshipit-source-id: 63b3572175224dbbda828981a5c9f067a5e35f33
-
- 12 Mar, 2019 9 commits
-
-
Dan Melnic authored
Summary: Fix typo Reviewed By: aary Differential Revision: D14411090 fbshipit-source-id: 4ca0273201facebc815db26d23662d0d192c831f
-
Yedidya Feldblum authored
Summary: [Folly] Move `FOLLY_DEFINE_CPO` to `folly/lang/CustomizationPoint.h`. And move `StaticConst` to top-level `folly` namespace and into `folly/lang/`. And Americanize the spellings of words in the comments. Reviewed By: ericniebler, lewissbaker Differential Revision: D14402315 fbshipit-source-id: e13dbc9d471ee73ba0a289d375c235734334b920
-
Jacob Lacouture authored
Summary: future.then([] -> T) currently returns Future<T> future.then([] -> Try<T>) currently returns Future<Try<T>> This changes that behavior, such that future.then([] -> Try<T>) will return Future<T>. This is a more desirable interface for futures. It also simplifies implementation of a separate task (propagating exceptions more efficiently through chained callbacks) because it enables us to internally substitute lambdas returning T with lambdas returning Try<T>. Reviewed By: yfeldblum, ryantimwilson Differential Revision: D14318624 fbshipit-source-id: 51363e82ceb86bfecf87ae661188be9ca3dd8002
-
Orvid King authored
Summary: Instead prefer the NetworkSocket version Reviewed By: yfeldblum Differential Revision: D14371075 fbshipit-source-id: 5dfa34e21b360cae987b1ffb1dd5f5ee7b105623
-
Joe Loser authored
Summary: - Instead of defining our own version of whether a type is nothrow swappable, reuse the existing definition from `folly/Traits.h` which is spelled `IsNothrowSwappable`. Pull Request resolved: https://github.com/facebook/folly/pull/1049 Reviewed By: Orvid Differential Revision: D14402098 Pulled By: yfeldblum fbshipit-source-id: 5b61bd6d43db939b4499e908b26a3eb61f8929a3
-
Joe Loser authored
Summary: - Remove `remove_cvref_t` alias template from `pusmhi/traits.h` in favor of `folly::remove_cvref_t` from `folly/Traits.h` which is the same definition. Pull Request resolved: https://github.com/facebook/folly/pull/1048 Reviewed By: ericniebler Differential Revision: D14402040 Pulled By: yfeldblum fbshipit-source-id: baba640e5fa410e0c48e666ea004de61b7f12a12
-
Joe Loser authored
Summary: - Replace `Not` template alias from `PolyDetail.h` with `folly::Negation` from `folly/Traits.h` which does the same thing. Pull Request resolved: https://github.com/facebook/folly/pull/1045 Reviewed By: ericniebler Differential Revision: D14402105 Pulled By: yfeldblum fbshipit-source-id: 100347dbdc159c5217c7452b202650d58d80850c
-
Dan Melnic authored
Summary: Add timerfd based timers Reviewed By: djwatson Differential Revision: D13809490 fbshipit-source-id: 9ae70d9cc4d481245623efbc3e74ce5ff8c8f3ca
-
Yunus Rahbar authored
fbshipit-source-id: 4c8ab4cdad047a4311c84b302b28160dd2bc9ed4
-
- 11 Mar, 2019 2 commits
-
-
Joe Loser authored
Summary: - In `c2e51a8e`, i.e. Differential Revision: D9213429 fbshipit-source-id: 849c0fce01d4903d3f8a7b6d196037bf950e5921 a `libfolly.pc.in` file was placed in the `CMake` directory so that the `libfolly.pc` file is installed during CMake configure time. - Note that the `libfolly.pc.in` in the `folly` directory is not referenced anywhere in the build tree, and it has been superseded with the one in the `CMake` directory. As such, remove it. Pull Request resolved: https://github.com/facebook/folly/pull/1050 Reviewed By: calebmarchent Differential Revision: D14400016 Pulled By: yfeldblum fbshipit-source-id: 4c8ab4cdad047a4311c84b302b28160dd2bc9ed4
-
Yedidya Feldblum authored
Summary: [Folly] Cut glog include in `folly/Range.h`. Reviewed By: meyering Differential Revision: D14402324 fbshipit-source-id: ed37939d69b2de4016483e7a2564d73892a64b3b
-