- 05 Apr, 2021 3 commits
-
-
Andrii Grynenko authored
Reviewed By: yfeldblum Differential Revision: D27253836 fbshipit-source-id: a72531e0deca9f0f6582339d483ed56f2eb37d87
-
Seth Hinze authored
Summary: Add a CHECK() to the IOBuf constructor to ensure the underlying buffer does not include any bytes that have been poisoned by AddressSanitizer. Reviewed By: yfeldblum Differential Revision: D25627483 fbshipit-source-id: 5bca59e545c32ba7b61430d7cd4787712eecb204
-
Yedidya Feldblum authored
Reviewed By: Orvid Differential Revision: D27559344 fbshipit-source-id: cf90be5a19da87bffe72fb6646296dd46889bc90
-
- 04 Apr, 2021 2 commits
-
-
Stiopa Koltsov authored
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
-
Yedidya Feldblum authored
Reviewed By: Orvid Differential Revision: D27555992 fbshipit-source-id: d68dc183f7c7b7c64975ede21e6f3018575fb7c9
-
- 03 Apr, 2021 4 commits
-
-
Yedidya Feldblum authored
Reviewed By: Orvid Differential Revision: D27537202 fbshipit-source-id: d1aa8ad81f3749129dd6f1795e788a0e55d9f06a
-
Yedidya Feldblum authored
Summary: Between gnu and msvc compilers, the builtins and intrinsics `__builtin_clzll` and `__lzcnt64` have different return types. They are wrapped in a portability function in `to_ascii` which currently forces a return type, which return type could trip implicit-conversion warnings. Avoid forcing the return type to avoid tripping implicit-conversion warnings. Reviewed By: luciang Differential Revision: D27535348 fbshipit-source-id: 3339d5d04e095f936c18d2b39ac1fb4b32f8a810
-
Yedidya Feldblum authored
Summary: The ambiguity is that the name appears as both `folly::to_ascii_size` and `folly::detail::to_ascii_size`, so that anything which imports both `folly` and `folly::detail` or which is within `folly::detail` may, depending on the particular compiler, find an unqualified call ambiguous. Differential Revision: D27535255 fbshipit-source-id: 05db44e6b153d75b691d67c878785cab1655051d
-
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 4 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
-