- 25 Apr, 2019 7 commits
-
-
Lewis Baker authored
Summary: Adds a utility that allows a coroutine to reschedule itself back onto its associated executor. This allows coroutines to cooperatively schedule themselves. It also allows a coroutine to force itself to be asynchronous by inserting a `co_await folly::coro::co_schedule;` as the first statement in the coroutine. Reviewed By: andriigrynenko Differential Revision: D15076362 fbshipit-source-id: 4a4a2978519e0709d28a3e1aa8745ee30ddc7751
-
Joe Loser authored
Summary: : - Replace a call site in `DynamicParser-inl.h` using `boost::is_member_pointer` with the standard library equivalent. Pull Request resolved: https://github.com/facebook/folly/pull/1085 Reviewed By: meyering Differential Revision: D14638847 Pulled By: yfeldblum fbshipit-source-id: 8eb95607dc7134b9bbc6974052094a92623fe776
-
Joe Loser authored
Summary: - Defining `FBSTRING_SANITIZE_ADDRESS` is more complicated than it needs to be and it is in fact not even needed now. - Remove separate `FBSTRING_SANITIZE_ADDRESS` symbol and use `FOLLY_SANITIZE_ADDRESS` in places which previously used `FBSTRING_SANITIZE_ADDRESS`. Pull Request resolved: https://github.com/facebook/folly/pull/1094 Reviewed By: Orvid Differential Revision: D14969931 Pulled By: yfeldblum fbshipit-source-id: 7c1a585180ca99d1e2f616765aa77f45c4426fb8
-
Victor Zverovich authored
Summary: Migrate from Folly Format to fmt which provides smaller compile times and per-call binary code size. Reviewed By: alandau Differential Revision: D14954926 fbshipit-source-id: 9d2c39e74a5d11e0f90c8ad0d71b79424c56747f
-
Nick Terrell authored
Summary: Remove manual include overrides Reviewed By: k21 Differential Revision: D15085229 fbshipit-source-id: fbd3c66184a696131c61605eeb0bba119e59af9e
-
Amir Livneh authored
Reviewed By: JunqiWang Differential Revision: D15073399 fbshipit-source-id: 909fccfaa39da8f718b1195fa09ed2628f073c51
-
Lee Howes authored
Remove deprecation from then that simply forwards to thenTry. Deprecation was inconsistent with defer. Summary: Future::then that forwards directly to thenTry is to be left for compatibility with Future::defer and to keep naming simple. This removes the confusing deprecation warning. Reviewed By: yfeldblum Differential Revision: D15057215 fbshipit-source-id: 84103e47c958f1db602804f625591ba899e98b23
-
- 24 Apr, 2019 7 commits
-
-
Lee Howes authored
Summary: Functions were deprecated and =deleted to communicate their removal with a clear error rather than having the functions simply disappear. They have been in this state for long enough to cleanly remove them. Reviewed By: yfeldblum Differential Revision: D15057175 fbshipit-source-id: fc9bb193e3cc9157ef6b898f0e4b7717581c1cdd
-
Jacob Lacouture authored
Summary: AFAIK, thenValue should effectively NOP if the future has an exception. Instead, it throws. C++ throw is expensive, as the stack_unwind process acquires a futex. If the service is seeing lots of exceptions (for example if it's overloaded and trying to shed load) throwing results in high lock contention. Reviewed By: yfeldblum Differential Revision: D13088019 fbshipit-source-id: a4bd39d8196d8691ca3a2c21a4860024b366fdac
-
Chad Austin authored
Summary: Fix unused-argument warnings. Reviewed By: yfeldblum Differential Revision: D15068741 fbshipit-source-id: 486451bd9bd8575bed8a647f4531783c82c079b5
-
Joe Loser authored
Summary: - Since C++17, `vector::emplace_back()` returns a reference to the new element inserted. - Differential Revision: D15007059 added support for these semantics in `small_vector`. This adds it for `FBVector` too to be symmetric. Pull Request resolved: https://github.com/facebook/folly/pull/1114 Reviewed By: ot Differential Revision: D15053815 Pulled By: yfeldblum fbshipit-source-id: 73ce9687e77ee9b97f12151cc148a84613b3ed1d
-
Mohamed Bassem authored
Reviewed By: AhmedSoliman Differential Revision: D15060131 fbshipit-source-id: 428f50129ec79c0f6091829dc5946163e532cde1
-
Nick Terrell authored
Summary: * Update to zstd-1.4.x * Update to the latest zstd-rs Reviewed By: Cyan4973 Differential Revision: D15040909 fbshipit-source-id: 938904d95ab8b1108d750d83602ee9c11c2c87b5
-
Lee Howes authored
Summary: Replace Future::onError with Future::thenError: * to remove ambiguous typing * to ensure that the executor is not lost and the returned Future is still bound to an executor This diff finally removes the legacy onError. See: https://fb.workplace.com/groups/fbcode/permalink/2002251863144976/ for details. Reviewed By: yfeldblum, Orvid Differential Revision: D15034702 fbshipit-source-id: 17faf37e79c0a31ad25c02542f09a8293e693899
-
- 23 Apr, 2019 2 commits
-
-
Lewis Baker authored
Summary: The folly::coro functionality depends heavily on the symmetric-transfer capability of coroutines which MSVC does not yet support. The folly/Portability.h header was previously defining FOLLY_HAS_COROUTINES to true for MSVC even though you would get compile errors if you tried to use any of the folly::coro facilities. Also further restrict defining FOLLY_HAS_COROUTINES only when C++17 or later is available as folly::coro makes use of C++17 language features. Reviewed By: yfeldblum, andriigrynenko Differential Revision: D14811921 fbshipit-source-id: f3da2d3c07fc9ebe08f566a7707c62e74e412df9
-
Victor Zverovich authored
Summary: Remove legacy logging API (`XLOGC` and friends) because it is not used anywhere and is not fully safe being varargs-based. The code that needs to be converted from `printf`-based logging can use fmt's `printf` API which is fully type-safe. Reviewed By: simpkins Differential Revision: D15036094 fbshipit-source-id: 3919e5d4eb7994ed0db4fa47bada111ab0dca505
-
- 21 Apr, 2019 3 commits
-
-
Orvid King authored
Summary: temp Reviewed By: yfeldblum Differential Revision: D14882681 fbshipit-source-id: 3017cb9743c81396764e6a61bdca183ae2692401
-
Joe Loser authored
Summary: - Most of `IntToDouble` test is commented out as it previously did not work with GCC 4.6.1. - Enable the rest of this test as it works fine on GCC 5.1 Pull Request resolved: https://github.com/facebook/folly/pull/1112 Reviewed By: yfeldblum Differential Revision: D15014999 Pulled By: Orvid fbshipit-source-id: a26a0fcacc9a22c03d0d67c35cabf8ec0ca91813
-
Orvid King authored
Summary: The only fix in this diff to an error currently being seen by the contbuilds is the change to concurrent hash map. The rest would have been seen when building the slow tests is enabled. Reviewed By: yfeldblum Differential Revision: D14898822 fbshipit-source-id: b28cd697496bb97b0e35b189a9bb31b666da3b17
-
- 19 Apr, 2019 6 commits
-
-
Joe Loser authored
Summary: - Both GCC and Clang define the macro `__GNUC__`, `__GNUG__` and friends. Simplify some macros whose intent is to check "if we are GCC or Clang" but do so via checking `__GNUC__` in addition to `__clang__`. It is sufficient to just check `__GNUC__`. Pull Request resolved: https://github.com/facebook/folly/pull/1095 Reviewed By: Orvid Differential Revision: D14697480 Pulled By: yfeldblum fbshipit-source-id: cd6ec82c4235a1321ecdf240afaad7d5c0e99437
-
Yedidya Feldblum authored
Summary: [Folly] Consistent `void` return-type checks in `DistributedMutex`. `const void` is a different type from `void`, but both match the `std::is_void` predicate. Reviewed By: aary Differential Revision: D14638815 fbshipit-source-id: 96d1e18dfe1026b3881dafe5ceb816a8dd3add08
-
Giuseppe Ottaviano authored
Summary: Since C++17 `vector::emplace_back()` returns a reference to the new element, support that in `small_vector` too. Reviewed By: terrelln, luciang Differential Revision: D15007059 fbshipit-source-id: 3873fd0097e3d50f7967f47fbecfa6ab20cc72c5
-
Michael Park authored
Summary: The virtual functions marked `protected` in `ThreadPoolExecutor` should be marked `protected` in `EDFThreadPoolExecutor`. Reviewed By: yfeldblum Differential Revision: D15008767 fbshipit-source-id: 6bad51068a8b64f623643e0d0deb684ed6e2be22
-
Shiva Shankar P authored
Summary: as in title Differential Revision: D15005737 fbshipit-source-id: 6ac0ff3d7498e505f0437dd5be76735d66eb953e
-
Subodh Iyengar authored
Summary: Remove getSelfCert and getPeerCert APIs from AsyncTransport. This removes an explicit dependency on the X509 type from openssl Reviewed By: yfeldblum Differential Revision: D14970297 fbshipit-source-id: b727789d3a37a57d4728709ab66a575d40176172
-
- 18 Apr, 2019 1 commit
-
-
Joe Loser authored
Summary: - Older versions of GCC required defining private member function `emplace_back_aux` out-of-line. That is, declare the member in-class and then provide the definition fully out of line. - These older versions of GCC are not supported anymore, so just define it inline as you would any other member function. Pull Request resolved: https://github.com/facebook/folly/pull/1077 Reviewed By: meyering Differential Revision: D14591465 Pulled By: yfeldblum fbshipit-source-id: 0ebfe55cec4e230c36c98ad595ec8dcfc98a211e
-
- 17 Apr, 2019 5 commits
-
-
Scott Wolchok authored
Summary: StorageTriviallyDestructible needed a constexpr ctor. Reviewed By: yfeldblum, ot, luciang Differential Revision: D14944492 fbshipit-source-id: cd9d39d7cb0719e7830887f548eabcc0defa1aee
-
Adam Simpkins authored
Summary: Update the folly spec to use `fb_github_project_workdir()` rather than just `github_project_workdir()`. This shouldn't have any impact for external github-based builds, but for our internal continuous integration builds this should make builds for downstream projects pick up the correct local version of folly that matches the commit of the downstream project that is being built. This behavior was unintentionally changed to not use the `fb_*` version in D10520960. Differential Revision: D14969380 fbshipit-source-id: 000b10525821fb5e0312d1869198a68befa0bd91
-
Doron Roberts-Kedes authored
Summary: The current order of retire and reclaim_nodes in clear() introduces a subtle bug which allows the hazptr library to destroy the Chunks array from reclaim_nodes, freeing the memory at chunks_, then continue reclaiming nodes which involves further access to chunks_.` Reviewed By: magedm Differential Revision: D14968860 fbshipit-source-id: 1bc8e543ae54c3d0e26affb1fd352c58cc5ce897
-
Jeremy Lilley authored
Summary: Recently, IOBufQueue started "packing" smaller IOBufs (i.e. <= 4KB) when serializing. This was helpful to avoid unnecessarily IOBuf chaining. That said, we did not update our serializedSizeZC() functions to emit an accurate memory estimate in the case that we did need to pack the IOBuf data. This changes to pass though the IOBuf size, if under the threshold. Also, add a few basic comments in the Protocol implementations about what serializedSize() means, because it's not entirely obvious to a new user that the results aren't intended to be accurate. And document what "ZC" is intended for. Reviewed By: yfeldblum Differential Revision: D14919060 fbshipit-source-id: 18e9bd0c6b9e40ccd1006cffba36363c6f95ea41
-
Yedidya Feldblum authored
Summary: [Folly] Fix `StaticSingletonManagerSansRaii` cache. Reviewed By: aary Differential Revision: D14928194 fbshipit-source-id: 6800c96ff40ec35e18a06b9c6a9f150a50695e37
-
- 16 Apr, 2019 6 commits
-
-
Sean Purcell authored
Summary: The uint32_t futex specialization for atomic_notify_all didn't remove the Integer template parameter, causing calls with atomic<uint32_t> to not specialize properly. Reviewed By: yfeldblum Differential Revision: D14957311 fbshipit-source-id: 063e0f6d18360d7e2ce8dd5bbf5c46c52a6fc833
-
Kirk Shoop authored
Summary: change the macros to work on MSVC Reviewed By: yfeldblum Differential Revision: D14942488 fbshipit-source-id: 12d6814230bd9b92b54603cd711d03cd8b5f8086
-
Kirk Shoop authored
Summary: reduces folly::Executor dependencies Reviewed By: yfeldblum Differential Revision: D14939208 fbshipit-source-id: bc354e838608eb8b25373ed5179e72acef813edd
-
Kirk Shoop authored
Summary: fixed some compile errors when building SMC with pushmi as a dependency some _v traits do not exist a specialization of ManualLifetime<void> was required Reviewed By: yfeldblum Differential Revision: D14939161 fbshipit-source-id: 76a1f05d7ce889d00fdf4a264e5e719fdb12d4ac
-
Vitalii Kalinkin authored
Summary: `reference_type` is unused Reviewed By: yfeldblum Differential Revision: D14944273 fbshipit-source-id: f4c968735fcb7173e5ee256381455c81492e02df
-
Nick Terrell authored
Summary: In zstd-1.4.0 we've renamed one function used by folly. Add compatibility macros to work with both function names. Reviewed By: Cyan4973 Differential Revision: D14941863 fbshipit-source-id: deaf63b28ac8e4c3e6f6c0c192ed2d0e452ddca7
-
- 15 Apr, 2019 3 commits
-
-
Cornel Rat authored
Summary: Under heavy contention, lock will recurse several times. This can lead to fiber stack overflow. Differential Revision: D14936384 fbshipit-source-id: e934569a9f742859655ba3ea888ebabd4d959651
-
Krishna Kondaka authored
Summary: Support for capturing metadata while doing folly json parsing Reviewed By: yfeldblum Differential Revision: D13626597 fbshipit-source-id: 8e7a26e23d966240d35c4f6d6104d9334a675a12
-
Dan Melnic authored
Summary: Let `ThreadLocalPtr` member `reset()` synchronize with member type `Accessor` lifetime, preventing data races that could happen if `reset()` is called while another thread is within the `Accessor` critical section. Reviewed By: yfeldblum Differential Revision: D14878801 fbshipit-source-id: 4090c5749d08bee3fd9b50b23df6e716bc78c9c7
-