- 28 Aug, 2020 8 commits
-
-
Chad Austin authored
Summary: std::iterator was deprecated in C++17, so define the iterator trait properties directly. This fixes warnings during compilation with Clang on Windows. Reviewed By: yfeldblum Differential Revision: D23353495 fbshipit-source-id: 7c6c0b7fb175251260e5b519ce98bd679b6c99c4
-
Dan Melnic authored
Summary: Add support for async range submit Reviewed By: yfeldblum Differential Revision: D23389493 fbshipit-source-id: 7171893a2eeccc20fcdd625e98f88d365027c930
-
Andrii Grynenko authored
Summary: TSAN breaks symmetric transfer behavior in compiler. Work around it by rescheduling work on executor when possible. Reviewed By: yfeldblum Differential Revision: D23391328 fbshipit-source-id: 7b25a0c89664ca14114f8ae0dc650ff9bb786fe1
-
Dan Melnic authored
Summary: Switch from VLA to folly::small_vector Reviewed By: yfeldblum, ot Differential Revision: D23391426 fbshipit-source-id: c6c61f3f0eef5b6e71ad3a639fcfdb4fa1b7268e
-
Dan Melnic authored
Summary: Add support for microsecond intervals in the function scheduler Reviewed By: yfeldblum, Mizuchi Differential Revision: D23153179 fbshipit-source-id: 10f18d7b774c47659fe8191f8d92dca341e1cf97
-
Yedidya Feldblum authored
Summary: [Folly] Remove the guard around `tag`, the inline variable of type `tag_t`. Reviewed By: Mizuchi Differential Revision: D23370037 fbshipit-source-id: 59a48d834904b7e503f807c62fff8534568c9a0a
-
Andrew Smith authored
Summary: This diff makes folly::coro::co_invoke work with folly::coro::Generator. Reviewed By: yfeldblum Differential Revision: D23332912 fbshipit-source-id: b3e25d160a94aed8892bf55ad5007f4018786e47
-
Lewis Baker authored
Summary: Add a method for querying the number of remaining tasks that have been added to an AsyncScope but that have not yet completed. This can be useful for implementing some load-shedding strategies based on the current number of active tasks added to a scope. Reviewed By: andriigrynenko Differential Revision: D21461637 fbshipit-source-id: 628c236e0c99fa952e63f84366186246e5286bc8
-
- 27 Aug, 2020 2 commits
-
-
Zhengxu Chen authored
Summary: Adjust low level deps in OSS builds to use standard `CMAKE_CXX_STANDARD` variables to control std level in cpp builds. Reviewed By: yfeldblum Differential Revision: D23333713 fbshipit-source-id: cd76712d6b045f1d0aff30d4874d9bf0ce6f1e01
-
Yedidya Feldblum authored
Summary: [Folly] Use C++ v.s. the preprocessor to check for mobile in `IOBuf`. Using C++ allows the compiler, when compiling for any platform, to see the full code for every platform and to typecheck and report errors. Reviewed By: aditya7fb Differential Revision: D23365674 fbshipit-source-id: 9cfe048a3114be3d6ef4522e279e19fb21f50a17
-
- 26 Aug, 2020 2 commits
-
-
Chad Austin authored
unconditionally build symbolizer sources even if FOLLY_USE_SYMBOLIZER is unset or the platform is non-ELF Summary: Rather than conditionally include the folly symbolizer sources in the CMake build, always build them, and add appropriate dependency defines to conditionally enable functionality. Reviewed By: yfeldblum Differential Revision: D22970595 fbshipit-source-id: 957242b7fde28584edd78a1a6dbe9f830e98e726
-
Robin Cheng authored
Summary: These tests time out under TSAN and there's not much value to run them under TSAN because the tests are single-threaded. Reviewed By: yfeldblum Differential Revision: D23302147 fbshipit-source-id: 6fc8bd3e29c9cde72bfa85a14fd7726850540285
-
- 25 Aug, 2020 4 commits
-
-
Matt Galloway authored
Summary: Originally we were only checking for iOS or macOS, but this logic also needs to be done for watchOS and tvOS as well. Reviewed By: Orvid Differential Revision: D23302842 fbshipit-source-id: 40806b3c45194b964fe14d0d00a092a2c96e9882
-
Dan Melnic authored
Summary: Define FOLLY_ELF_NATIVE_CLASS if not defined and __ELF_NATIVE_CLASS is available Reviewed By: yfeldblum Differential Revision: D23307593 fbshipit-source-id: bb4b7a82a58a9ba9d4725dd770a2e5b7109b0318
-
Scott Hebert authored
Summary: This is just a typo I noticed while breaking some of my own code. :) Reviewed By: andriigrynenko Differential Revision: D23293835 fbshipit-source-id: a99abe57ab6f63e98c29e670f6ba3da05b688253
-
Dan Melnic authored
Summary: Add compile support for platforms that define ElfW Reviewed By: yfeldblum Differential Revision: D23305597 fbshipit-source-id: fc94e7f3023389cc5a03862dba7c3dc05c1dbeea
-
- 24 Aug, 2020 1 commit
-
-
Maged Michael authored
Summary: Remove unused include of sorted_vector_types.h in Request.h Reviewed By: yfeldblum Differential Revision: D20903094 fbshipit-source-id: cf54ebabc102789e5629d84a138a1caf1ffa396b
-
- 22 Aug, 2020 2 commits
-
-
Michael Park authored
Summary: This patch adds support for `std::variant` to `folly::variant_match` but without including `<variant>`. Reviewed By: yfeldblum Differential Revision: D23196572 fbshipit-source-id: 9d5b519958b04c13cc024d393247c73cec00ac67
-
Misha Shneerson authored
Summary: We should only be capturing `folly::RequestContext` in HHWheelTimer's callback objects (already happens). And avoid capturing it in underlying AsyncTimeout. Notice that `AsyncTimeout::scheduleTimeout`/`scheduleTimeoutHighRes` APIs capture current `folly::RequestContext` and `AsyncTimeout::cancelTimeout` releases the captured `folly::RequestContext` Now, the way HHWheelTimer works, it re-uses one instance of AsyncTimeout for multiple timeouts. This opens up possibility for leaking lifetime of RCTX. Imagine first request A and then B schedule timeouts using same HHWheelTimer instnace. A's RCTX is captured by underlying AsyncTimeout. Next, request A is complete and we need to cancel its timeout. Notice, however that A's RCTX will not be destroyed as long as B is still running. That's the lifetime management leak. Reviewed By: jordalgo, andriigrynenko Differential Revision: D23260733 fbshipit-source-id: 0bdf79db40d34d6682e89e87ce30811ffccc8cbf
-
- 21 Aug, 2020 2 commits
-
-
Maged Michael authored
Summary: Remove implementation based on read locking (replaced by implementation based on hazard pointers). Reviewed By: yfeldblum Differential Revision: D20881677 fbshipit-source-id: da89eee6a92fa34fa1c111a421bf5368873ccd57
-
Biswapriyo Nath authored
Summary: Pull Request resolved: https://github.com/facebook/folly/pull/1421 Reviewed By: yfeldblum Differential Revision: D23023218 Pulled By: Orvid fbshipit-source-id: 7cc182319dece37b9f2db42958717fa70b526025
-
- 20 Aug, 2020 5 commits
-
-
Shai Szulanski authored
Reviewed By: yfeldblum, lewissbaker Differential Revision: D23240860 fbshipit-source-id: 74aab6151c9c44159a2d3fc4e041b475b69e29e7
-
Dan Melnic authored
Summary: Do not call scheduleImmediateRead() if the EVB has changed Reviewed By: yfeldblum Differential Revision: D23234912 fbshipit-source-id: 8394700a53b4e2fa925519271c1c27fc0ce11a85
-
Nanshu Chen authored
Summary: Changed the way how enums generated in thrift-py3: 1. Use C++ map to store name to unique Enum Python instances cache 2. Dynamically find instances from cache (or create one and add to cache) instead of populating all instances at module load time 3. use `__getattr__` and `__getitem__` instead of code-gen all the getters Reviewed By: asp2insp Differential Revision: D23182622 fbshipit-source-id: 75baef997ee2d604b4ef7606f282cfc3306208ac
-
Andrew Gallagher authored
Reviewed By: yfeldblum Differential Revision: D23223918 fbshipit-source-id: 72fb70ccabb57229298515f55334807ad2dfff36
-
Shrikrishna Khare authored
Summary: As titled. Differential Revision: D23216535 fbshipit-source-id: 4d278cd1f5d4c661eddda265d92f51d391192404
-
- 19 Aug, 2020 3 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Re-port memrchr, avoiding build-system detection. Proper detection at build-system time is challenging. * Some platforms do not define `memrchr`. * Some platforms define it as a C function. * Some platforms define it as a pair of C++ functions. Proper porting requires proper build-system detection. Rather than going down that rabbit-hole, we can wrap `memrchr` and do compile-time detection using SFINAE. This change adds a new strategy. A subsequent change may remove the old strategy. Reviewed By: Orvid Differential Revision: D22125127 fbshipit-source-id: 2da7cca571de335b2cff43ff7846ab04d90136ef
-
Misha Shneerson authored
Reviewed By: yfeldblum Differential Revision: D23178843 fbshipit-source-id: d9fade6f7a5f8472bffb7a40d285eaf7646ac0e8
-
Yedidya Feldblum authored
Summary: [Folly] Minimize conditional compilation in `AsyncUDPSocket`. Differential Revision: D23172282 fbshipit-source-id: 6ead5cf2232b9db0f709080666262ccc4b5984da
-
- 18 Aug, 2020 5 commits
-
-
Michael Park authored
Summary: The examples showing `thenValue(executor, ...)` is outdated since the executor-taking form of `then` have been `delete`d. The example showing racy execution of continuations of `Future`s is no longer relevant. It used to be a valid example when the `Future`s used to be "activated" on destruction, but they no longer have this behavior. Fixes #1422. Reviewed By: LeeHowes Differential Revision: D23181958 fbshipit-source-id: 46d2bedd4fef344734d3eb15eb295b9a98969665
-
Jon Janzen authored
Summary: This came from a [request from Fred Emmott](https://fb.workplace.com/groups/osssupport/permalink/4116491528399431/), but also is something we should do due to the GitHub UI redesign: Nowadays on GitHub, tags are not shown in the sidebar (just the count) and instead GitHub Releases are prioritized and the most recent *release* is shown. Secondly, the Source Code zip archives for tags/releases are created on-the-fly on GitHub. This can cause problems for downstream projects that need consistent content hashes of the archive for security/reproducability reasons. This action also creates its own archives (zip and tar.gz) and attaches them to the release. Reviewed By: fredemmott Differential Revision: D23167073 fbshipit-source-id: 463e9d93a2c4af260ac3c4dbc1ceab7894add714
-
Koray Polat authored
Summary: - Added a commandline flag to ignore testpilot even when it's available - Fixed an oversight that caused getdeps to return 0 even if ctest tests have failed. Reviewed By: wez Differential Revision: D23161362 fbshipit-source-id: 1ed97c481315e2b39f1128680386390930194970
-
Andrew Smith authored
Summary: This diff allows the user to specify an optional onClosed callback for AsyncPipe, analogous to the callback accepted by thrift's ServerStreamPublisher. Reviewed By: andriigrynenko Differential Revision: D23024437 fbshipit-source-id: 546cc7e0ea1099cadfa085f5dd2fb9085b88f695
-
Chad Austin authored
Summary: folly/experimental/symbolizer requires libunwind. Do not enable it unless libunwind is available. Reviewed By: yfeldblum, luciang Differential Revision: D22964401 fbshipit-source-id: d71991346927fbf18167637770b2143c03b16476
-
- 17 Aug, 2020 6 commits
-
-
Shai Szulanski authored
Summary: Task -> semi has to lift void to unit because semifutures don't support void. Semi -> task (via co_await) does not drop unit. It probably should because roundtrip properties are nice, but on the off chance someone actually wants to pass a unit around that would become impossible. But for the result type the Try<void> is already implicitly convertible to Try<Unit>, as those types aren't meaningfully different (and not at all in this context where empty Try is not possible). So we can return Try<void> from co_awaitTry instead of Try<Unit>, and then generic code that wants `co_yield co_result(co_await co_awaitTry(SemiFuture<T|Unit>))` from a `Task<T|void>` will work. Reviewed By: andriigrynenko Differential Revision: D23004090 fbshipit-source-id: 5254e2930ac02952abd92fd2856c2a7d3e952e20
-
Perry Randall authored
Differential Revision: D22499183 (https://github.com/facebook/folly/commit/24364356023d04f966a0ef6fc7536363932bdc82) Original commit changeset: b2af8d94024c fbshipit-source-id: a6bd56cdb4d4b73618a9374528371c5b18a0df10
-
Chad Austin authored
Summary: basic_fbstring provides an allocator template paramater for compatibility with basic_string, but ignores it. Assert at compile time that a custom allocator isn't used. This would have prevented the regression introduced in D22970418 (https://github.com/facebook/folly/commit/abb4ece62120ff32aaf28dc4bbfdc6a2f2b41f78) and fixed in D23035304 (https://github.com/facebook/folly/commit/8b650246220717f27046593b5819fbaa60427bcb). Reviewed By: luciang Differential Revision: D23144806 fbshipit-source-id: c541f274e97736b9408651a66088bcbb78025539
-
Curtis Li authored
Summary: Fixes a few documentation errors that get surfaced when compiling with the -Wdocumentation flag. Full explanation of errors with examples here: https://clang.llvm.org/docs/DiagnosticsReference.html#wdocumentation Reviewed By: yfeldblum Differential Revision: D23119100 fbshipit-source-id: 4e84f624e4d81914b78211af4860540498f8110c
-
Mike Kolupaev authored
Summary: try_dequeue() used to consume from the queue but not from the semaphore, causing the two to diverge and breaking subsequent dequeue() calls. Reviewed By: yfeldblum Differential Revision: D23160324 fbshipit-source-id: f709733d984f51abc53595d38dbef3daffbfa6d9
-
Yedidya Feldblum authored
Summary: [Folly] Move `DeterministicSchedule` helper alias `TLState` to the source, and outline all uses into the source. Reviewed By: nbronson, luciang Differential Revision: D23157071 fbshipit-source-id: 957576a61a796f46da781e02419a1229e681d4c1
-