- 03 Apr, 2021 1 commit
-
-
Yedidya Feldblum authored
Summary: SingletonRelaxedCounter is templated over tag types, but this leads to heavy monomorphization. extract the common code. Reviewed By: aary Differential Revision: D27383671 fbshipit-source-id: e419579e4d9ab84b5107670bd1e94e1768dcebf4
-
- 02 Apr, 2021 7 commits
-
-
Yedidya Feldblum authored
Summary: No strict need for them to be functions. Differential Revision: D27484949 fbshipit-source-id: f0fbc91aa9940720bbd3b685b730acc314bf122d
-
Yedidya Feldblum authored
Reviewed By: philippv Differential Revision: D27535007 fbshipit-source-id: 384235553b18320fa9728740f7f1b83b4c8b0a1a
-
Yedidya Feldblum authored
Reviewed By: WillerZ Differential Revision: D27489039 fbshipit-source-id: 5d397a24fcb165b7ea25e32f0c81435bce474b04
-
Seth Hinze authored
Summary: Win32 does not support weak symbols. This means the linker will fail due to the unresolved symbol `__asan_region_is_poisoned` when ASAN is not available. Use `FOLLY_CREATE_EXTERN_ACCESSOR` macro when filtering for ASAN availability in `SanitizeAddress.cpp` to ensure the symbol `__asan_region_is_poisoned` is referenced only when ASAN is available. Reviewed By: yfeldblum, luciang Differential Revision: D27278826 fbshipit-source-id: 3c8efbfc687295c2fa70e3712402fd8dfe81bc45
-
Andrew Sun authored
Summary: NestedCommandLineApp works by performing two passes over the argument vector: 1. Treat the entire argv as a single command, ignoring subcommands. Consume all options that "match" a global flag here. 2. Find the first positional argument in argv and treat it as a subcommand, then re-parse everything after it as options to the subcommand. This allows constructs like `cli subcommand --subcommand-flag --global-flag`. However, as a side effect, if `subcommand-flag` happens to be even a prefix of a global flag name, boost "helpfully" matches it with the global flag in the first pass so that the subcommand never even sees it. Fixing the issue of a subcommand flag conflicting with a global flag would break backwards compatibility; however, we can at least add an option to disable prefix matching so that there would need to be an exact flag name collision for this scenario to occur. It may be possible to extend NestedCommandLineApp in the future to detect flag collisions as well, instead of silently associating arguments with the wrong flag. Reviewed By: yfeldblum Differential Revision: D27419341 fbshipit-source-id: 941c0769e16d40c87f96620155f0ab09927cef3d
-
Jason Rahman authored
Summary: If zero copy starts out enabled on a unencrypted connection, disable it when the SSL handshake begins. Otherwise, AsyncSocket will receive send notifications for buffers that it did not pre-register. Reviewed By: yfeldblum Differential Revision: D27145232 fbshipit-source-id: f07d006d095e1e6839eb2f4adb07d7c284786572
-
Yedidya Feldblum authored
Summary: A mechanism to make it easier conditionally to access possibly-defined names, which can be a bit tricky especially without `if constexpr`. Reviewed By: luciang Differential Revision: D27434753 fbshipit-source-id: 4c9aaebe89b354aa94f4f370c8fbdc8456b0e7f7
-
- 01 Apr, 2021 13 commits
-
-
Zhengxu Chen authored
Summary: On darwin with Xcode, deleter for a shared_ptr is passed by copying the whole lambda, causing issues when building PrimaryPtr. In this diff we try to work around this problem by putting the last promise value on the heap while sharing the control block with the shared_ptr exposed to user. Reviewed By: yfeldblum Differential Revision: D27354087 fbshipit-source-id: 9cb23912c9f1058505f3c20384eb998233eba2da
-
Zhiwei Chen authored
Summary: Pull Request resolved: https://github.com/facebook/folly/pull/1553 Differential Revision: D27504501 Pulled By: yfeldblum fbshipit-source-id: 291036c64050896d3873271722c84380fd2b3ec7 Co-authored-by: Zhiwei Chen <condy0919@gmail.com>
-
Yedidya Feldblum authored
Summary: Let the `to_ascii` functions take and check the out range, not just the out begin. Add overloads which take arrays. Reviewed By: WillerZ Differential Revision: D27484478 fbshipit-source-id: 56a9ba1465204b58d9df018bdae707d39ef6525d
-
condy authored
Summary: Before this patch, it relies on the c++17 guaranteed copy elision, since `SemaphoreBase::Waiter` is NOT copy constructible due to `std::atomic<intptr_t>`. This patch makes it compile even using `-std=c++14`. Pull Request resolved: https://github.com/facebook/folly/pull/1554 Differential Revision: D27505938 Pulled By: yfeldblum fbshipit-source-id: 6c26f82f77a24236a1233cff7921cd6b9f53bd09
-
Lee Howes authored
Reviewed By: yfeldblum Differential Revision: D27461546 fbshipit-source-id: 500ecd312b0b0ba15db7f373a3b6c7d633802846
-
Sandeep Kumar Pani authored
Summary: Tpx works well for all OSS jobs, we should migrate to Tpx instead of relying testpilot. Reviewed By: marcelogomez Differential Revision: D27396539 fbshipit-source-id: dd1994be0eb3b4396764c1f3e68ddd6763b60139
-
generatedunixname89002005287564 authored
Reviewed By: yfeldblum Differential Revision: D27461452 fbshipit-source-id: 3e46ba71b10aea10d6006c3c6f145377ce6687da
-
generatedunixname89002005287564 authored
Reviewed By: yfeldblum Differential Revision: D27461464 fbshipit-source-id: 53facc1cc42f60ffa3083c12c32352bb78b16280
-
Yedidya Feldblum authored
Summary: Persuade the compiler to emit a tail call in the `SingletonRelaxedCounter` inline slow path. Differential Revision: D27383131 fbshipit-source-id: 6f58b1eb23477c00221515d7d6e55a91668f7c84
-
Yedidya Feldblum authored
Summary: C++17 permits use of `std::unique_lock` instead of `folly::SpinLockGuard`; just use that. C++11 permits use of `std::unique_lock<SpinLock>`. Differential Revision: D27390136 fbshipit-source-id: bcc34a043644289523ddfdfbf47a260c133db186
-
Andrii Grynenko authored
Summary: Avoids warnings with -Wterminate. Reviewed By: yfeldblum Differential Revision: D27452798 fbshipit-source-id: 129b66179c5ff9bbf3f8fe791224cd925a3b33f3
-
Shrikrishna Khare authored
Summary: This is towards upgrading to newer OpenNSA 6.5.21. This diff will be landed after we have verified that OpenNSA 6.5.21 has not regressed from OpenNSA 6.5.19 (HW test results) sha256sum on the tarball, and use that in the manifest. Reviewed By: jasmeetbagga Differential Revision: D27470306 fbshipit-source-id: a56c1e012a790b0bc948a5804dd605cdf224916c
-
generatedunixname89002005287564 authored
Reviewed By: yfeldblum Differential Revision: D27461647 fbshipit-source-id: cf1f9747b535a9fb8c8aa851f2ce9cad8b9dce61
-
- 31 Mar, 2021 3 commits
-
-
Phil Willoughby authored
Summary: This is useful if your environment takes partial dumps of the process on crash - you can tell the process which does that to include the memory range of the flight recorder in what is dumped. Differential Revision: D27206631 fbshipit-source-id: b3679004930486094e6030b5b39ee02d01bc7617
-
Yedidya Feldblum authored
Summary: jemalloc has background threads to purge unused pages, so stop purging arenas used by idle threads since those arenas may be shared with active threads which must page fault new pages in after the purge Reviewed By: ot, davidtgoldblatt Differential Revision: D26793042 fbshipit-source-id: 13617bfb0ace1c5b7aae52dfdc428b19ff99f7bf
-
Nathan Lanza authored
Summary: This satisfies a new error in llvm11 Reviewed By: smeenai Differential Revision: D27421459 fbshipit-source-id: 963d809a4f430a365223786ea7d2591fe239062f
-
- 30 Mar, 2021 4 commits
-
-
Pedro Eugenio Rocha Pedreira authored
Summary: Enabling Velox/f4d getpdeps build on macOS, and adding the last required dependency (libicu). Reviewed By: amitkdutta Differential Revision: D27316661 fbshipit-source-id: 60edf7d4a953a62f2b7b52d9b4f0827d12ac1367
-
Songqiao Su authored
Reviewed By: vitaut Differential Revision: D27372973 fbshipit-source-id: fcbad2d9fceaecb4b02f5015a808f5744c7cb771
-
Dan Melnic authored
Summary: Add IOBuf multi create/destroy benchmark Reviewed By: mokomull Differential Revision: D27406019 fbshipit-source-id: 001cd92743892bb91111831044fc3a4d3b02aaf7
-
Yedidya Feldblum authored
Summary: Rename, mark as kept, add a version taking an argument Differential Revision: D27383132 fbshipit-source-id: 214af5b09e42159756e97b3b829ac9ecb237c17b
-
- 29 Mar, 2021 7 commits
-
-
Dan Melnic authored
Summary: IOBuf allocate SharedInfo in the same allocation only if we do not cross into the next class size Reviewed By: jrahman Differential Revision: D27353914 fbshipit-source-id: 65be3641d7eaa0588bf26101ce02668fb827eee9
-
Pranjal Raihan authored
Summary: `folly::observer::ReadMostlyAtomicObserver` docblock explains it well: ``` /** * A ReadMostlyAtomicObserver guarantees that reading is exactly one relaxed * atomic load. Like AtomicObserver, the value is cached using `std::atomic`. * However, there is no version check when reading which means that the * cached value may be out-of-date with the Observer value. The cached value * will be updated asynchronously in a background thread. * * Because there is no version check when reading, ReadMostlyAtomicObserver * does not capture observer dependencies when used from makeObserver. It is not * possible to create a dependent observer. Therefore, ReadMostlyAtomicObserver * models none of CopyConstructible, MoveConstructible, CopyAssignable, or * MoveAssignable. Dependent observers should be created using the underlying * observer. * * ReadMostlyAtomicObserver is ideal for fastest possible reads on a * trivially-copyable type when a slightly out-of-date value will suffice. It is * perfect for very frequent reads coupled with very infrequent writes. */ ``` Other minor changes: * Added `getUnderlyingObserver` to each of the special-purpose observers. * Sprinkled `std::move` where neccessary. Reviewed By: yfeldblum Differential Revision: D27381490 fbshipit-source-id: fed039ae481af0c4e4148f80df03e30a125e333f
-
Ruslan Sayfutdinov authored
Summary: This page says it can't be greater than 256: https://docs.microsoft.com/en-us/windows/win32/api/winsock/nf-winsock-gethostname POSIX one is equal to 255, so set it to 255. Reviewed By: yfeldblum Differential Revision: D27370716 fbshipit-source-id: 458ebc02d2914a0422862fafedd089e0c13c5e6d
-
Pedro Eugenio Rocha Pedreira authored
Summary: Adding libicu manifest, which will be used by f4d/velox Reviewed By: amitkdutta Differential Revision: D25934666 fbshipit-source-id: 247d9961c90fcfc497498b556626e9ef1739b191
-
Doug Huff authored
Summary: Alias `-h` to `--help` because we live in a society. Reviewed By: yfeldblum Differential Revision: D27370742 fbshipit-source-id: eb346546fe4066eef62313176ff7e47c20e507be
-
Jianfeng Tang authored
Summary: As titled. Convert float to int explicitly to get rid of compilation warning. Reviewed By: therealgymmy Differential Revision: D27364578 fbshipit-source-id: a5f53142be9ba64260e7028d29c89a857ed66770
-
Ruslan Sayfutdinov authored
Summary: `LLVM_COROUTINES` define indicates that LLVM compatible `<experimental/coroutine>` is available and we can enable coroutines for Clang on Windows. Reviewed By: yfeldblum, WillerZ Differential Revision: D26729942 fbshipit-source-id: 37999a9a727727aa9244e8d4d67f035fc311be50
-
- 28 Mar, 2021 3 commits
-
-
Dan Melnic authored
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
-
Lucian Grijincu authored
Summary: Add API equivalent to `std::optional::value_or`: https://en.cppreference.com/w/cpp/utility/optional/value_or Returns the contained value if *this has a value, otherwise returns default_value. template< class U > constexpr T value_or( U&& default_value ) const&; Equivalent to `bool(*this) ? **this : static_cast<T>(std::forward<U>(default_value))` template< class U > constexpr T value_or( U&& default_value ) &&; Equivalent to `bool(*this) ? std::move(**this) : static_cast<T>(std::forward<U>(default_value))` Reviewed By: yfeldblum Differential Revision: D27346319 fbshipit-source-id: 598b740cb9068cffb0cc0fbda3579e64fd125e8b
-
Giuseppe Ottaviano authored
Summary: Even in debug mode, the branch can likely be coalesced with the actual condition if inlined. Reviewed By: yfeldblum Differential Revision: D27285173 fbshipit-source-id: 1662588f82d14a5ab2c9564bab5cec72981418ec
-
- 26 Mar, 2021 2 commits
-
-
Pedro Eugenio Rocha Pedreira authored
Summary: Folly builds are broken in Legocastle MacOS because there's no Elf support, but, since libdwarf is found (`-- Setting FOLLY_HAVE_DWARF: TRUE`), folly tries to compile Dwarf symbolizer which depends on a few symbols from Elf, which is not available, failing the compilation: https://www.internalfb.com/intern/sandcastle/log/?instance_id=4503600026654665&step_id=4503603563228601&step_index=49&name=Build%20folly Adding a check to make sure both Dwarf and Elf are available before compiling Dwarf symbolizer. See post for more details https://fb.workplace.com/groups/fbcode/permalink/3847861398584004 Reviewed By: chadaustin Differential Revision: D27328940 fbshipit-source-id: b06b852a8819275f63c57eb921562ecf37d0e63f
-
Ivan Egorov authored
Reviewed By: yfeldblum Differential Revision: D27261361 fbshipit-source-id: a3aa0b40d1a42313fbeeea5c8ca8f6d43dbc6bdf
-