Tags: sjwsl/folly
Tags
Conditionally include fmt/format.h (facebook#1551) Summary: Addresses - at least partly - issue facebook#1550 We'd like to limit our exposure to additional libraries. Fmt is a new dependency. It doesn't look like we need it in actuality; gating the include based on whether the file exists or not makes it possible for clients (specifically React Native for Windows) to not need to fork Folly. Pull Request resolved: facebook#1551 Reviewed By: yfeldblum Differential Revision: D27531237 Pulled By: Orvid fbshipit-source-id: 340a7ff49be81872aaf23044945a1e8ecd157546
File::dupCloseOnExec() Summary: Close-on-exec is an important feature to avoid leaking file descriptors to spawned processes. This diff adds `File::dupCloseOnExec()` function which is equivalent to `File::dup` function, but sets close-on-exec flag where supported (i. e. everywhere except Windows). Practically most users want to have `closeOnExec = true` by default, but we need to preserve backwards compatibility, thus this diff leaves `dup` function as is. Reviewed By: yfeldblum Differential Revision: D27495214 fbshipit-source-id: 540deb2bc6c8fec626a0120bc20c345950dc8af7
SharedMutex TSAN: call destroy only if the annotation was created Summary: SharedMutex TSAN: call destroy only if the annotation was created (Note: this ignores all push blocking failures!) Reviewed By: yfeldblum Differential Revision: D27379654 fbshipit-source-id: 90be62eb9e932c83e025a96dd36c4cba992e6267
Let assume be invocable anytime Summary: [Folly] Let `assume` be invocable anytime, including before and after `main` and in signal handlers, by switching from `CHECK` to `FOLLY_SAFE_CHECK`. Requires further minimizing the deps of `FOLLY_SAFE_CHECK`. Reviewed By: ot, Orvid, luciang Differential Revision: D6636035 fbshipit-source-id: 026b15ea92ba37acf9b11d714d834b79da80936a
let some thunk members take variadic args Summary: In particular, let `make` and `ctor` take variadic arguments since there is no cost. Reviewed By: iahs Differential Revision: D27024839 fbshipit-source-id: 805c65fdc79f60af1256a4c36be94bb22c163bdd
Explicitly qualify atomic_wait and atomic_notify function calls Summary: `std::atomic_wait()` and `std::atomic_notify_one()` are marked as unavailable. Not really sure what that means, but it seems to be breaking some open source builds facebook#1527. Explicitly qualify the calls into those functions to try and fix the build break. Since we cannot conditionally import either of the above (because they are marked as unavailable), we can't rely on the standard implementations. To prevent ADL from kicking in when the standard-library defines these, we fully qualify these and use `tag_invoke` for the customization points used in tests. Reviewed By: davidtgoldblatt Differential Revision: D26742072 fbshipit-source-id: 9f44bbfd37530f5ecffa3e03d673cfb1df953299
no need to overload return_value 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
FiberManager's shutdown only waits for remote tasks to drain Reviewed By: andriigrynenko Differential Revision: D26572552 fbshipit-source-id: 035e1313cd4dec070555b5cd41efc58a0b4a948a
no shared_ptr in EventBaseLocal Summary: [folly] no `shared_ptr` storage in `EventBaseLocal` since its refcount operations are unnecessary. Pare it down to `unique_ptr` with a straightforward fun-ptr deleter. Reviewed By: iahs Differential Revision: D26246619 fbshipit-source-id: 3d0214ccb6c4730ca7b573065b4468a0dce85d40
reexport coroutine_handle Summary: Reexport `coroutine_handle` from `folly/experimental/coro/Coroutine.h`, which wraps inclusion of `experimental/coroutine`. Differential Revision: D26227588 fbshipit-source-id: 32cdb2b6d87e90065bf9f140716d63670c04db5f
PreviousNext