- 09 Nov, 2021 1 commit
-
-
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 9 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
-
Giuseppe Ottaviano authored
Summary: There hasn't been a V1 for a very long time. Reviewed By: philippv, luciang Differential Revision: D32170751 fbshipit-source-id: f495a81657cf53f870ce93572d46d835c7fb8496
-
Giuseppe Ottaviano authored
Summary: Add an option to specify that `skipTo()` cannot be called on the current value, so we can save a comparison. Reviewed By: luciang Differential Revision: D32161927 fbshipit-source-id: 6ebfe7711a5ee3bcdf40cd8a1097da777f78c277
-
Giuseppe Ottaviano authored
Summary: Move size and upper bound accounting to `UpperBitsReader`, so we don't need to read the last value on construction, which can be expensive when opening a large number of small lists. This also makes the maximum `ValueType` representable, and lifts the requirement that the provided upper bound at construction time must be equal to the last element in the list, allowing multiple lists to share the encoding of the upper bound. Based on initial work by swaroopnm. Reviewed By: philippv Differential Revision: D32130075 fbshipit-source-id: e98a053b46b10c435ac0d402ff94a56fcfe095ad
-
Giuseppe Ottaviano authored
Summary: Add tests where the list size is close or at the maximum supported size, by fixing `EliasFanoReader` to support `uint16_t` as value and size type. Types smaller than `int` require special support because any arithmetic operation promotes them to `int`, so operations that rely on unsigned overflow break. Work around this by introducing a helper for addition that preserves the type. Reviewed By: philippv, luciang Differential Revision: D32130076 fbshipit-source-id: 763a8e4cc2b023405c173316d2415ca8c3ec7148
-
- 04 Nov, 2021 4 commits
-
-
Cristian Lumezanu authored
Summary: Move `state_` and `addr_` to the initializer list of the AsyncSocket constructor. This is necessary as there may be installed callbacks for AsyncSocket (e.g., using ConstructorCallback) that need these values early. Reviewed By: yfeldblum Differential Revision: D31761420 fbshipit-source-id: 2790cff1413835927be8610d7117208ef39e1cd1
-
Alex Hornby authored
Summary: It was missing openssl-libs Reviewed By: mzr Differential Revision: D32139851 fbshipit-source-id: a60febe3c9e916d1b1c65dfe88a364f5bcfb33b0
-
Alex Hornby authored
Summary: Distro name wasn't matching and thus no rpms being installed or used Also improved the error message for unknown systems Reviewed By: farnz Differential Revision: D32139850 fbshipit-source-id: 438278094159f732f6b1de506490b89d2c9cd3f7
-
slowy07 authored
Summary: ## description fix typo spelling grammar and replace to correct words Pull Request resolved: https://github.com/facebook/folly/pull/1638 Reviewed By: yfeldblum Differential Revision: D30577141 Pulled By: Orvid fbshipit-source-id: 20c3f49fafcb6ca01a9419f5d71a2414dc7ea635
-
- 03 Nov, 2021 3 commits
-
-
Ilya Albrecht authored
Summary: Implemented 8 times unrolled linear folding to cover for _mm_clmulepi64_si128 latency on Skylake Reviewed By: terrelln Differential Revision: D30376340 fbshipit-source-id: 7828639c135ba51048b60c621f5427c7ac1938b4
-
Maged Michael authored
Summary: Fix exit-time destructor warning for hazptr_tc_evict. Differential Revision: D32099949 fbshipit-source-id: f9f12143f4d06fda1122c8a8d741d6381105253f
-
Jun Li (Core System) authored
Summary: BoundedQueue can be useful in many places. This implementation uses MPMCQueue/ProduerConsumerQueue and folly semaphore to achieve bounded queue behavior. Reviewed By: iahs Differential Revision: D31782931 fbshipit-source-id: 06aa12ee6e181641eb7b5acb0c6513b58e436d91
-
- 02 Nov, 2021 4 commits
-
-
Konstantin Tsoy authored
Summary: Need to fix branch name for OSS mvfst so CI continues on. Ran opensource/fbcode_builder/getdeps/facebook/update-all-github-actions.sh Reviewed By: lnicco Differential Revision: D32041656 fbshipit-source-id: f72aab91a3084814a5d3fa8643ae5f405908c313
-
Jim Meyering authored
Summary: We should all be migrating to platform010, for the improved performance of its generated code and for its improved diagnostics/portability. cast PTHREAD_STACK_MIN to size_t, since with glibc-2.34, it now has type long This avoids the following errors: folly/detail/MemoryIdler.cpp:140:18: error: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'long' [-Werror,-Wsign-compare] Differential Revision: D32057242 fbshipit-source-id: 1fae2aec5829a837e2aecf068f6c2c061c911e95
-
Yicheng Wang authored
Summary: AsyncServerSocket works like this: 1) a socket is accepted from the fd 2) the socket is pushed into the socket queue 3) the connectionAccepted() callback is called with the socket is dequeued Things happening before connectionAccepted() are like black box to us currently. For example the time taken for a socket to sit in the socket queue is completely unknown. Adding this AcceptInfo into the callback could allow us to pass more information to downstream for instrumenting. This diff only pass timestamp of before the socket is being pushed into the queue. Reviewed By: yfeldblum Differential Revision: D31633582 fbshipit-source-id: 66072955318388c2410b48313d3d54078edce478
-
Samuel Miller authored
Summary: Since callsites wanting an X509 from an AsyncTransportCertificate will have to perform a dynamic cast to an OpenSSLTransportCertificiate, we might as well abstract that away into a static helper. This makes it potentially a bit easier to change implementation details in the future without having to update a bunch of existing callsites (and it hides the ugliness of the dynamic cast). Reviewed By: yfeldblum, mingtaoy Differential Revision: D31358948 fbshipit-source-id: 9ed2f81db4cf746a83871961895a0c1f1fb5c297
-
- 30 Oct, 2021 2 commits
-
-
Dan Melnic authored
Summary: Fix CPP20 compile issues Reviewed By: yfeldblum Differential Revision: D32010566 fbshipit-source-id: 203a272c80a0d54ac7a65809feed146ae0ee70f8
-
Christoph Purrer authored
Summary: I want to override this method in the next [diff](https://www.internalfb.com/diff/D31995497?entry_point=27), so I am making it virtual Reviewed By: yfeldblum, jackerghan Differential Revision: D31995385 fbshipit-source-id: 20855cfee0bcf809bdd477ff4820613180986178
-
- 29 Oct, 2021 3 commits
-
-
Giuseppe Ottaviano authored
Summary: The intention of `setEgressBufferBackpressureThreshold()` is to bound memory usage, but it accounts for write size instead. The two can have very large discrepancy, because Thrift allocates large `IOBuf`s when serializing a message: the minimum allocation size is 16KiB, but in Thrift streaming the messages can be much smaller, which can lead to under-accounting by orders of magnitude. This diff changes the definition to account for allocated bytes. Differential Revision: D31927400 fbshipit-source-id: 1172f91648b3b21d7d4076d51ec9f569b0e0ba22
-
Mohammad Husain authored
Differential Revision: D31976729 fbshipit-source-id: 617cce3a62bad6efbfaea0e7ea6d0f120ae35dcf
-
Dan Melnic authored
Summary: Fix typo Reviewed By: yfeldblum Differential Revision: D31949755 fbshipit-source-id: 31af70aa09a9b15a6bc9ed5567d0ab717956c886
-
- 28 Oct, 2021 5 commits
-
-
Shai Szulanski authored
Summary: A lightweight replacement for folly::Promise for use with coroutines. The main selling point is cancellation-awareness. It also has a smaller memory footprint (similar CPU cost) and can be `blockingWait`ed. Differential Revision: D31561034 fbshipit-source-id: d803e02cfd7753ee1f532c8f696cf7fbf672938b
-
Shai Szulanski authored
Summary: Enables implementing coro::Promise with a single allocation. Not intended for direct use by folly users. Differential Revision: D31561033 fbshipit-source-id: ae9d350694c05710dcf7abd507f11795786da09d
-
Dan Melnic authored
Summary: Switch AutoTimer looging to fmt::format Reviewed By: mpark Differential Revision: D31980311 fbshipit-source-id: 91e819a169a16540984e503f7562f9c2d36f75db
-
Dan Melnic authored
Summary: Fix C++20 compile issues Reviewed By: yfeldblum, mpark, ispeters Differential Revision: D31938070 fbshipit-source-id: eed570b98685bfe5438a5d02f0417a40f495cb0f
-
Dmytro Stechenko authored
Summary: Make `folly::badge` and `folly::any_badge` noexcept constructible. Cannot make constructors explicitly defaulted due to classes becoming aggregate types. Aggregate type construction takes precedence over value constructors so we can construct them anywhere: ``` class A{ A() = default; }; int main() { A a = {}; } ``` Cannot mark them `explicit` either, since we prefer to have conversions auto-magical where possible. Reviewed By: yfeldblum Differential Revision: D31983342 fbshipit-source-id: ddeffc30e6332882a490afea5bf023522f96c18e
-
- 27 Oct, 2021 2 commits
-
-
Dmytro Stechenko authored
Summary: Fixed some `folly::badge` docs to make them more precise. Renamed `folly::badges` to `folly::any_badge`. Made `folly::any_badge` an empty class that we can only lift into from a singular `folly::badge` that is a part of the badges allowed. Reviewed By: yfeldblum Differential Revision: D31905323 fbshipit-source-id: f48394dda2c2c6b46169087c4231443552e056e4
-
Dan Melnic authored
Summary: Fix C++20 compile issues Reviewed By: ispeters Differential Revision: D31943747 fbshipit-source-id: afafc8f2117c558401aaeb1a265b81fccaccf2a4
-