- 17 Nov, 2021 4 commits
-
-
Andrew Gallagher authored
Summary: In the vast majority of cases in fbcode, the sanitizer macros are checked with `#ifdef`, so do the same in some places to fix `-Wundef`. Reviewed By: luciang Differential Revision: D32501662 fbshipit-source-id: 123e22d78476c9db0e328ccb01a734a06a163594
-
Andrew Gallagher authored
Summary: Users may set `FOLLY_USE_LIBCPP` or `FOLLY_USE_LIBSTDCPP` to `0` or `1`, so make sure everything checks it via `#if`. Reviewed By: luciang Differential Revision: D32496561 fbshipit-source-id: 5eee660b540af0bf1eaee4949576acf11c9be8d0
-
Yedidya Feldblum authored
Summary: Cast the result of shifts to the integer type parameter, rather than the shift width. Reviewed By: aary, luciang Differential Revision: D32160950 fbshipit-source-id: 0100a1a92c48bfa1cd957cf42ed84d01302ea4f7
-
Andrii Grynenko authored
Summary: Previously update() could be run both directly from within the update notification callback (that can happen in any context while holding some application locks), but also while observer is initially created from the observable. This change moves the update logic to be called on the observer internal thread, making the implementation even more resilient to various locks that may be held by the application. Reviewed By: yfeldblum Differential Revision: D32338088 fbshipit-source-id: 557f47c98469a951ce4b5513ce96e2b3a5d8ba6b
-
- 16 Nov, 2021 3 commits
-
-
Andrew Gallagher authored
Reviewed By: igorsugak Differential Revision: D32415926 fbshipit-source-id: b62ac87215800eed8e6cf8acf92f0518b9a56da5
-
Andrew Gallagher authored
Reviewed By: ot Differential Revision: D31763384 fbshipit-source-id: ef666193f83a16d4eedf65a499361d967809163f
-
Abishek Sethuraman authored
Differential Revision: D32405920 (https://github.com/facebook/folly/commit/6b58b9e81875d92ba53add248d113593b24d2c8b) Original commit changeset: b0b5c55149ae fbshipit-source-id: f5a6d0dd6bb4434cebe02b5cde357d94e28253f0
-
- 15 Nov, 2021 3 commits
-
-
Shai Szulanski authored
Summary: Provies single-await co_nothrow wrapper Reviewed By: capickett Differential Revision: D32405920 fbshipit-source-id: b0b5c55149aebe4246422fabeffb7ed433b4e20d
-
Andrii Grynenko authored
Summary: Have constructor do init() instead. I can't think of any valid reason to have this API other than confusing everyone who decides to use it. Reviewed By: praihan Differential Revision: D32302228 fbshipit-source-id: 136e0d2919291acd60be953337309cd006bd674b
-
Pranjal Raihan authored
Summary: Now we'll ignore all the known sanitizers: ASAN, TSAN, MSAN, UBSAN. Reviewed By: yfeldblum, jdonald Differential Revision: D32364717 fbshipit-source-id: f71a294dd9ebaa8521f0487ebc65c6f7c1e7bf04
-
- 13 Nov, 2021 1 commit
-
-
Michel Salim authored
Summary: Inlining `getStackTraceInPlace` fails on Fedora with ``` /builddir/build/BUILD/folly-2020.12.21.00/folly/experimental/symbolizer/StackTrace.cpp: In function 'folly::symbolizer::(anonymous namespace)::getStackTraceInPlace(ucontext_t&, unw_cursor&, unsigned long*, unsigned long)': /builddir/build/BUILD/folly-2020.12.21.00/folly/experimental/symbolizer/StackTrace.cpp:88:9: error: function 'folly::symbolizer::(anonymous namespace)::getStackTraceInPlace(ucontext_t&, unw_cursor&, unsigned long*, unsigned long)' can never be inlined because it uses setjmp 88 | ssize_t getStackTraceInPlace( | ^~~~~~~~~~~~~~~~~~~~ ``` Reviewed By: yfeldblum Differential Revision: D29639503 fbshipit-source-id: 823692d95171d5fb3968761c00b4cc5650db171b
-
- 12 Nov, 2021 4 commits
-
-
Shai Szulanski authored
Differential Revision: D32394449 fbshipit-source-id: 2c2bc54c2d71cc677c35195adc73f579b5d0c101
-
Shai Szulanski authored
Summary: exception_wrapper no longer rethrows during this construction Reviewed By: yfeldblum Differential Revision: D32371738 fbshipit-source-id: 0d5d51cdde4115aaf8774950e53bfac0b37f0b88
-
Shai Szulanski authored
Summary: Breaks rescheduling on error Differential Revision: D32398162 fbshipit-source-id: 582db297e0b700617c2e455e1f6d2fd1fa40e143
-
Christoph Purrer authored
Summary: - For Windows in xplat we use [Clang9/12 + MSVC 2017](https://www.internalfb.com/code/search?q=filepath%3Afbsource%2Ftools%2Fbuckconfigs%2Fcxx%2Fwindows%20repo%3Afbsource%20vs2017_15.9) and it's [<experimental/coroutine>](https://www.internalfb.com/phabricator/paste/view/P467028969) - When upgrading to MSVC 2019 we also get [<coroutine>](https://www.internalfb.com/phabricator/paste/view/P467029007) in addition to [<experimental/coroutine>](https://www.internalfb.com/phabricator/paste/view/P467029069) - The MSVC2019 ```<coroutine>``` does not work with our current Windows [coroutine solution](https://fb.workplace.com/groups/rp.co.await/permalink/748274059391415/) / [D26877884](https://www.internalfb.com/diff/D26877884) - Hence I am *re-using* an existing flag to opt-out of ```<coroutine>``` as MSVC 2019 left for backwards compatibility also ```<experimental/coroutine>``` Reviewed By: yfeldblum Differential Revision: D32282445 fbshipit-source-id: d2eeb3057518e95135cf054ab6156dac5aa15065
-
- 11 Nov, 2021 6 commits
-
-
Shai Szulanski authored
Summary: Provies single-await co_nothrow wrapper Reviewed By: capickett Differential Revision: D31450124 fbshipit-source-id: e8d18c49248d85ef864abad2eecffe69de58a546
-
Shai Szulanski authored
Summary: Extended coroutine handle interface for attaching new features Reviewed By: capickett Differential Revision: D31450126 fbshipit-source-id: 2aa6b8a4fb72e5007d08f38fcde5c7abd8eabd67
-
Andrew Huang authored
Reviewed By: AjanthanAsogamoorthy Differential Revision: D32328268 fbshipit-source-id: e2816aa89d0ffc96e0377603fca6ca4a39830def
-
Philip Pronin authored
Summary: We're hiding internal frames during dump, but forget to adjust the reported count, so the output looks clowny. Reviewed By: luciang Differential Revision: D32340094 fbshipit-source-id: 86a02c54178a03a83fa64c29faf6d82abfa45bf8
-
Thomas Orozco authored
Summary: I use it in the next diff. Reviewed By: xavierd Differential Revision: D32280314 fbshipit-source-id: 32d86780ae3187449fc7ceb1dc474cc7ac2d1ac1
-
Yedidya Feldblum authored
Summary: Let their types be determined by the atomic parameter only so that conversions may happen at the call-site. This is what the `std::atomic_compare_exchange` functions do. Those functions are specified to use `typename std::atomic<T>::value_type` rather than `T` but, curiously, not all implementations of `std::atomic` have member type alias `value_type`. So instead of using member type alias `value_type` to get dependency, we use `type_t`. Reviewed By: ot Differential Revision: D32259208 fbshipit-source-id: 413e3580aff3dd0ece5051b7a62dfd16f49eb5a8
-
- 10 Nov, 2021 5 commits
-
-
Yedidya Feldblum authored
Summary: Use invokers and rename the invokers for clarity. Reviewed By: luciang Differential Revision: D32160395 fbshipit-source-id: 97052fc42c23db3e315bd721dcf7b3f29669bcaa
-
Yedidya Feldblum authored
Summary: Choose `_native` and `_fallback` suffixes nstead of `_x86` and `_deafult` suffixes. `_native` instead of `_x86` since the intention is broader than x86; `_fallback` instead of `_default` since fallback is a clear word. Reviewed By: luciang Differential Revision: D32160396 fbshipit-source-id: 08d064aae670ea7e93a098b16a511ff43ca8a7e1
-
Andrii Grynenko authored
Reviewed By: praihan Differential Revision: D32297368 fbshipit-source-id: a58c7805d396cc30c0d82a49d5998e2f9d8a799a
-
Yedidya Feldblum authored
Summary: The bit param is 0-based. So, for bit 1, the mask is `0b10`. Reviewed By: luciang Differential Revision: D32160394 fbshipit-source-id: cfef250b3035d8c7e29b2f36848482888801781c
-
Konstantin Tsoy authored
Summary: This fixes mvfst OSS tests on Mac. Reviewed By: lnicco Differential Revision: D32227732 fbshipit-source-id: 1375799046803a5183f83441b93deb0ab2e0961f
-
- 09 Nov, 2021 2 commits
-
-
Wendy Wang authored
Summary: As titled Reviewed By: ivmaykov Differential Revision: D31974990 fbshipit-source-id: 03b60c4e9d4a7464c27cd53f1989cda878132933
-
Andrii Grynenko authored
Reviewed By: Gownta Differential Revision: D32197071 fbshipit-source-id: 19ead9d39777efa73750346e59dc69ef57ce4961
-
- 08 Nov, 2021 3 commits
-
-
Andrew Smith authored
Summary: We currently call closeReceiver() on a receiver in receiversBySubscriptionId_ that has already been removed from receivers_ (and freed). The fix is to check to see whether the receiver in receiversBySubscriptionId_ is still present in receivers_ before invoking any functions on it. If the receiver is not present in receivers_, that means it has already been closed, so we do not need to close it. Reviewed By: aary Differential Revision: D32233062 fbshipit-source-id: 0aa763b509897db7de970e12e2f01cffc1b49fc3
-
Alex Hornby authored
Summary: macos build is failing, disable to get clean internal CI Reviewed By: HarveyHunt Differential Revision: D32238516 fbshipit-source-id: dad2d15d65a9ee971c254775fcc8e6e80fa97ab0
-
Andrew Huang authored
Reviewed By: mingtaoy Differential Revision: D32218077 fbshipit-source-id: 5a966ced07387340d02ad2a85c095939c9e7f530
-
- 07 Nov, 2021 1 commit
-
-
Daniel Porteous authored
Summary: Fixing an incorrectly formatted link in https://github.com/facebook/folly/blob/main/folly/docs/Synchronized.md. Reviewed By: yfeldblum Differential Revision: D32227087 fbshipit-source-id: 773ed8f1a0651a177fd306b63b514a917a8934bd
-
- 06 Nov, 2021 3 commits
-
-
Andrew Smith authored
Summary: Currently, when we get a cancelled notification on the output sender for a transform, we schedule the cancellation of any running transform callback on an executor. CancellationSource is thread-safe, so we don't need to do this. This diff ensures that cancelling the output receiver will immediately trigger cancellation of any running transform callback, allowing the transform callback to deterministically know that it has been cancelled. Reviewed By: aary Differential Revision: D32191796 fbshipit-source-id: aabd58be9b58b0f560b8127b336e626c3482a644
-
Andrew Smith authored
Summary: This ensures that closing a FanoutChannel will synchronously cancel its input receiver. We don't need to run this code on the provided executor, because it is not running as part of a callback (and because we already have a lock). Reviewed By: aary Differential Revision: D32191795 fbshipit-source-id: 9ec2a2303a12580e052de7af8651ebf5b773b8b6
-
Yedidya Feldblum authored
Summary: To ease writing and reading IO code. Reviewed By: iahs Differential Revision: D32220718 fbshipit-source-id: db695eb33a60aae0db1b34991bd7d5ce33489f86
-
- 05 Nov, 2021 5 commits
-
-
Yedidya Feldblum authored
Summary: The memory orders seem backwards but are correct. Add a comment explaining the surprising situation. Reviewed By: ot Differential Revision: D31594601 fbshipit-source-id: 61a3f5a5700cfe640e025ad5d5388a5dda1f97eb
-
Akrama Baig Mirza authored
Summary: Add an implementation of `WorkerProvider` to `IOThreadPoolDeadlockDetectorObserver`. - On thread start, the observer creates a `TaskStallDetector` and provides it a `ThreadIdCollector` containing the TID of the thread that started - The thread will be blocked from exiting until any existing `WorkerProvider::KeepAlive`s are destroyed Differential Revision: D31963855 fbshipit-source-id: cd749d76a433684a8280d95a4dbff441e32bfda9
-
Alex Hornby authored
Summary: Move the hg build to fbthrift_socket, it was referencing the removed fbthrift_socket-02 from some cargo files Reviewed By: mzr Differential Revision: D32159904 fbshipit-source-id: 58db0fd53cf859d19a237c0a1d50370d405132b8
-
Alex Hornby authored
Summary: rpm names needed updating as boost-contract wasn't found. The rpm names now include the boost version which should be handy when boost dependency is updated next Unfortunately the centos boost 1.69 rpms aren't found automatically by the centos cmake boost rules, so this also adds builder.py logic to point to it using BOOST_INCLUDEDIR and BOOST_LIBRARYDIR Reviewed By: mzr Differential Revision: D32140834 fbshipit-source-id: 3e2dd822613957ae4d7be5b73623ff581f11d02b
-
Alex Hornby authored
Summary: Add the system dependencies so getdeps can install them if not present Reviewed By: krallin Differential Revision: D32152976 fbshipit-source-id: 29311f37126e1eac8dfbe2f46f6bc3516848d48b
-