- 25 Oct, 2017 3 commits
-
-
Marko Novakovic authored
Reviewed By: yfeldblum Differential Revision: D6142252 fbshipit-source-id: 9ac98585a92299ca5915982c65c7d2cfa68bf60f
-
Yedidya Feldblum authored
Summary: [Folly] Flesh out `Optional` members `swap`, `reset`, `emplace`, `has_value`. * `swap` as a member and deriving `noexcept`-ness to mimic `std::optional::swap`. * `reset` v.s. `clear` to mimic `std::optional::reset`. * `emplace` returning ref and overload taking initializer list to mimic `std::optional::emplace`. * `has_value` v.s. `hasValue` to mimic `std::optional::has_value`. Reviewed By: WillerZ Differential Revision: D6132775 fbshipit-source-id: 34c58367b9dc63289e4b9721c5e79b1c41ba31e4
-
Yedidya Feldblum authored
Summary: [Folly] Simplify `IsUniquePtrToSL` in `IOBuf.h`. Reviewed By: Orvid Differential Revision: D6131231 fbshipit-source-id: b054ef7ef9f313943a3ac1022ca6a23874a464df
-
- 24 Oct, 2017 4 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Move `folly/Hash.h` to `folly/hash/`, leaving a shim. Reviewed By: Orvid Differential Revision: D6132955 fbshipit-source-id: dc789e9c6daa28116be6a5d83c3cfbb40e247114
-
Igor Sugak authored
Reviewed By: meyering Differential Revision: D6117783 fbshipit-source-id: 048b056e119bf89ab88c33b1233297d197e8acb9
-
Christopher Dykes authored
Summary: Via clang-tidy's modernize-use-bool-literals Reviewed By: yfeldblum Differential Revision: D6130384 fbshipit-source-id: 359d5195897f04612c9b9042cf69383050a2ec7a
-
Christopher Dykes authored
Summary: It's done in a lot of places, but not all. clang-tidy gives us llvm-namespace-comment, which can force this consistently. Reviewed By: yfeldblum Differential Revision: D6108129 fbshipit-source-id: 1b44c5a26250364f9edf70f84173e9ba6389f06c
-
- 23 Oct, 2017 8 commits
-
-
Christopher Dykes authored
Summary: Via the modernize-make-shared from clang-tidy Reviewed By: yfeldblum Differential Revision: D6129464 fbshipit-source-id: 04f560c6beeb2b8631b819fd4e6a2d51b37eeb4b
-
Lee Howes authored
Summary: ManualExecutor::run() is stable, which means that in cases where we want to fully drain the executor we have to loop over it. This adds ManualExecutor::drain() which does that internally. Reviewed By: yfeldblum Differential Revision: D6126840 fbshipit-source-id: e36cba5c373a57fe01de244977ec852636b58dbd
-
James Sedgwick authored
Summary: this is all non-hphp includes that are going in container/ Reviewed By: mzlee, yfeldblum Differential Revision: D6121745 fbshipit-source-id: b024bde8835fc7f332686793d75eb8e71591c912
-
Qi Wang authored
Summary: tcache.flush may fail if tcache is disabled. Avoid using mallctlCall which throws on error. Reviewed By: davidtgoldblatt Differential Revision: D6115419 fbshipit-source-id: 39411c80af08dc7c855efd43297809b749f935bf
-
Christopher Dykes authored
Summary: Via the clang-tidy check modernize-make-unique. Reviewed By: yfeldblum Differential Revision: D6107790 fbshipit-source-id: 1cf186feae511cbd91f44893059737a85778b6cf
-
Jon Maltiel Swenson authored
Summary: Rename `std::unique_lock` variables named `lock` to `ulock` in `folly::fibers::TimedMutex` member functions in order to avoid shadowing. Reviewed By: andreazevedo Differential Revision: D6123449 fbshipit-source-id: 5fa331bb1541ac995d9b69360ee09923c14f6698
-
Andrew Krieger authored
Summary: Only available in >= 2017 15.3, which is 1911+. Reviewed By: aary, Orvid Differential Revision: D6117237 fbshipit-source-id: 255804af5bfd0c743fd225b8a4fddf3cfc9cfeaf
-
James Sedgwick authored
Summary: all memory/-destined components besides hphp includes Reviewed By: yfeldblum, mzlee Differential Revision: D6121822 fbshipit-source-id: 6c6214d84dcdefe4789ed5200399ae27203d6340
-
- 22 Oct, 2017 1 commit
-
-
James Sedgwick authored
Summary: also gotta split it up/rename it, that's coming later Reviewed By: yfeldblum Differential Revision: D6121525 fbshipit-source-id: 9c6dbabd47323d94657508a0f75a0c6e7f988ace
-
- 21 Oct, 2017 4 commits
-
-
James Sedgwick authored
Summary: That's everything that's going in executors/ except for Executor.h itself, which is included in hphp so will have to wait Reviewed By: mzlee Differential Revision: D6100274 fbshipit-source-id: 6be37892b1ad7f46828acfa6b2951e51b157a86a
-
James Sedgwick authored
Summary: Everything that's going in system/ besides CpuId and Subprocess, which are included in hphp Reviewed By: mzlee Differential Revision: D6102263 fbshipit-source-id: 564ef584c341a4ac79db14a9d58fe23ce51e78b3
-
James Sedgwick authored
Summary: as above (Note: this ignores all push blocking failures!) Reviewed By: yfeldblum Differential Revision: D6099826 fbshipit-source-id: 20152487135aa8eaf6d2e99369801b6dde4992aa
-
Yedidya Feldblum authored
Summary: [Folly] Use `folly/portability/GTest.h` in `folly/executurs/test/`. Applying the general rule for folly tests to some recently-introduced violations. Reviewed By: Orvid Differential Revision: D6113707 fbshipit-source-id: f9a2961ac845489b85b5a539595e4c82df03d922
-
- 20 Oct, 2017 3 commits
-
-
James Sedgwick authored
Summary: as title, see moves (Note: this ignores all push blocking failures!) Reviewed By: mzlee Differential Revision: D6112001 fbshipit-source-id: 1eb10b44ae8ee1f90a10e05c29e48c99d824afa5
-
Christopher Dykes authored
Summary: This is C++, not C, so let's keep things modern. This is applying the modernize-redundant-void-arg clang-tidy check to Folly. Reviewed By: yfeldblum Differential Revision: D6106921 fbshipit-source-id: 06a56f036f59426df5dd475bf91a3f4a335266f5
-
Christopher Dykes authored
Summary: Via the clang-tidy check misc-argument-comment. Reviewed By: yfeldblum Differential Revision: D6107482 fbshipit-source-id: a1fe6215c31fae472ad3b6e05abea974d706794e
-
- 19 Oct, 2017 14 commits
-
-
Christopher Dykes authored
Summary: This time aided by clang-tidy's modernize-use-nullptr check. Reviewed By: yfeldblum Differential Revision: D6102739 fbshipit-source-id: aeb4bd0a8078d81cc88b766e0a034a37dd25fd1f
-
James Sedgwick authored
Summary: as above Reviewed By: knekritz Differential Revision: D6088687 fbshipit-source-id: 0efbb7f5fa33b5f553c0c2019658370fc6e8613f
-
Alex Yarmula authored
Summary: When timekeeper singleton no longer exists during shutdown and folly::Singleton::try_get() can return nullptr, make sure nullptr is handled gracefully. Reviewed By: yfeldblum Differential Revision: D6101311 fbshipit-source-id: fefeddfbd048d1a7632688bb3526db15b685dd72
-
Yedidya Feldblum authored
Summary: [Folly] Add `InlineExecutor.cpp` to `Makefile.am`. Reviewed By: Orvid Differential Revision: D6101859 fbshipit-source-id: 4cd0f875dedb548189722fd719f4424d485e1b02
-
Yedidya Feldblum authored
Summary: [Folly] Fix `folly/fibers/` build on older boost. Where `jump_fcontext` takes `intptr_t` rather than an actual pointer, and we warn about implicit conversions from pointers to integral types. Reviewed By: Orvid Differential Revision: D6098230 fbshipit-source-id: 61bd7bdff5de728d3febe8b35c97d024ab6f236a
-
Christopher Dykes authored
Summary: The style guidelines say control flow should always have curly braces, and we follow that, mostly. This just uses clang-tidy to clean up everywhere that we weren't. Reviewed By: markisaa, luciang Differential Revision: D6097377 fbshipit-source-id: bfe6766c37bd863ecf68851ef93265a200d4259d
-
James Sedgwick authored
Summary: as above Reviewed By: yfeldblum Differential Revision: D6086563 fbshipit-source-id: ab7f50ba46ebd1dbef6438f956258b2fbb13cb5c
-
Peter Alexander authored
Summary: Simple addition. Easy to track externally, but might as well provide it in the class if it is readily available. Reviewed By: yfeldblum Differential Revision: D6093826 fbshipit-source-id: 9d8c02891b2cea9ce0d3f6ea78e1e0055b536eb8
-
Yedidya Feldblum authored
Summary: This reverts commit 64eb65aac8e3e7cd0126e65ca3998bfe167e2d73 bypass-lint Differential Revision: D6050464 fbshipit-source-id: 1ed63f30837dc11ae57b316f1f7cb233a210894a
-
Walker Mills authored
Summary: AIUI, if there is no executor available, then callbacks are executed inline. `folly::window` uses a recursive helper function (`spawn`) to handle chaining callbacks. So if `window` is used on a large enough collection of `Future`s without executors (e.g., created by `makeFuture`, or have otherwise already completed), you get a stack overflow. A minimal repro looks like: ``` int main(int argc, char** argv) { std::vector<int> v(100000); for(int i=0; i < v.size(); i++) { v[i] = i; } std::vector<folly::Future<folly::Unit>> f = folly::window( std::move(v), [](int /* unused */) { return folly::makeFuture(); }, 1); folly::collectAll(f).get(); } ``` This diff resolves the issue by adding an overload of `folly::window` which takes an executor as its first parameter. The executor-less `window` overload calls through to the new function using an `InlineExecutor` as the default executor. Reviewed By: yfeldblum Differential Revision: D6038733 fbshipit-source-id: 5dcab575592650efa2e106f12632ec06817a0009
-
Yedidya Feldblum authored
Summary: [Folly] Move `folly/Hash.h` to `folly/hash/`. Reviewed By: jsedgwick Differential Revision: D6050464 fbshipit-source-id: 64eb65aac8e3e7cd0126e65ca3998bfe167e2d73
-
Arkady Shapkin authored
Summary: Workaround a bug in template instantiation in MSVC 2017 U3/4 with /permissive- https://developercommunity.visualstudio.com/content/problem/81223/incorrect-error-c5037-with-permissive.html /cc Orvid Closes https://github.com/facebook/folly/pull/691 Reviewed By: yfeldblum Differential Revision: D6085652 Pulled By: Orvid fbshipit-source-id: f068dc3f8e474163815fc497b05410fe76834a52
-
Boliu Xu authored
Summary: As titled. Reviewed By: yfeldblum Differential Revision: D6087099 fbshipit-source-id: 1c346fa6f65b5ea58e728759905560ae5ad9cc9d
-
Richard Fillman authored
Summary: Compiled mcrouter with the 'Wpadded' flag to try to find any wasted space. Mcrouter itself did not have anything, but there was a lot in AsyncSocket.h and AsyncSSLSocket.h so looked into those and removed a bit of wasted space Reviewed By: yfeldblum, brianwatling Differential Revision: D6033977 fbshipit-source-id: 2dc127208e09980be6a5db576b45d30ac6e044ff
-
- 18 Oct, 2017 3 commits
-
-
James Sedgwick authored
Summary: as above Reviewed By: yfeldblum Differential Revision: D6076779 fbshipit-source-id: 4c223ab9fce3be8544f6f807781c3d0a99b61dad
-
Andrew Krieger authored
Summary: MSVC has a bug where it is unable to match an out-of-line constructor (and possibly other kind of member) to the definition if it is implicitly referenced before the definition is processed. The guilty method is SemiFuture<Unit> makeSemiFuture(). Moving it after the constructor definitions resolves the issue. Reviewed By: yfeldblum Differential Revision: D6042277 fbshipit-source-id: 97fe97c0edf3df3d9e3b808968b450c73959b600
-
James Sedgwick authored
Summary: see title Reviewed By: yfeldblum Differential Revision: D6062601 fbshipit-source-id: edd9a5e85f4ebecd1a6f1004a4d3b8b43b935c2b
-