- 18 Jul, 2017 4 commits
-
-
Christopher Dykes authored
Ensure the allocator types in the string keyed tests have value_types matching the value type of the collection Summary: Because MSVC's standard library implementation is now checking that this is actually the case: ``` error C2338: set<T, Compare, Allocator> requires that Allocator's value_type match T (See N4659 26.2.1 [container.requirements.general]/16 allocator_type) Either fix the allocator value_type or define _ENFORCE_MATCHING_ALLOCATORS=0 to suppress this diagnostic. ``` I've gone with the "Fix the `value_type`" approach. Reviewed By: yfeldblum Differential Revision: D5441017 fbshipit-source-id: b30403d2e48f815177cac29c4e6eec4e79583660
-
Phil Willoughby authored
Summary: 32-bit iOS environments were triggering the previous condition with LifoSem. Reviewed By: yfeldblum Differential Revision: D5442057 fbshipit-source-id: 64ee32b4ad35150c7f295a2a30bbede8fa13e79e
-
Christopher Dykes authored
Summary: Also use it to disable function_test and indexed_mem_pool_test for now while the source of their breakage is being investigated. Reviewed By: yfeldblum Differential Revision: D5440415 fbshipit-source-id: 630c884ccd2db660bfc3e4529a2d35941d3bd0d3
-
Dan Melnic authored
Summary: Lua exception handling test - start with the failing test first - code from D5431445 Reviewed By: yfeldblum Differential Revision: D5432254 fbshipit-source-id: 87f5934f28ac6ef7b55314acb3c150b9ccf6c799
-
- 17 Jul, 2017 5 commits
-
-
Christopher Dykes authored
Summary: `AsyncSignalHandler` is not currently supported on Windows, so we shouldn't be attempting to build it. Reviewed By: yfeldblum Differential Revision: D5437276 fbshipit-source-id: b3f281bfc501444bb22056860ee785a2beb9b671
-
Tommy Nguyen authored
Summary: - The __GNUC__ macro is used by other compilers like Clang and ICC, but ext/stdio_filebuf.h is a libstdc++ only extension. fixes #636 Closes https://github.com/facebook/folly/pull/637 Reviewed By: yfeldblum Differential Revision: D5434532 Pulled By: Orvid fbshipit-source-id: ce4f966a74aa9f82ae907c67807ac87ec1588173
-
Christopher Dykes authored
Summary: There is no longer anything keeping them from working on Windows. Except for that `signal(SIGPIPE, SIG_IGN)` call; that has to stay disabled. Reviewed By: simpkins Differential Revision: D5308007 fbshipit-source-id: 74a392cf484404f41a6c51e50b5a9e6fbd05b4a9
-
Yedidya Feldblum authored
Summary: [Folly] Let `exception_wrapper::handle`, when empty, show the right error message. The error message currently says that `throw_exception` cannot be called on an empty `exception_wrapper`, but should say that `handle` cannot be called on an empty `exception_wrapper`. Reviewed By: Orvid Differential Revision: D5432380 fbshipit-source-id: ffa69c7675ee332e596e861e59ea273c39fc4717
-
Yedidya Feldblum authored
Summary: CodeMod: Prefer `ADD_FAILURE()` over `EXPECT_TRUE(false)`, et cetera. The tautologically-conditioned and tautologically-contradicted boolean expectations/assertions have better alternatives: unconditional passes and failures. Reviewed By: Orvid Differential Revision: D5432398 Tags: codemod, codemod-opensource fbshipit-source-id: d16b447e8696a6feaa94b41199f5052226ef6914
-
- 15 Jul, 2017 1 commit
-
-
Christopher Dykes authored
Summary: Because these are always 64-bit values. This hasn't actually been an issue but is the correct thing to do. Reviewed By: yfeldblum Differential Revision: D5425658 fbshipit-source-id: 5bc204b3d1af2c710bd8b1665211d2971ccf7be7
-
- 14 Jul, 2017 8 commits
-
-
Christopher Dykes authored
Summary: It is a non-portable include as it is include-order sensitive. Reviewed By: yfeldblum Differential Revision: D5427885 fbshipit-source-id: 50850064fc8fa3ed6f8fc235f31edbda4144663c
-
Christopher Dykes authored
Summary: MSVC has issues with the way it was written, so just use the standard version instead. Upstream bug report: https://developercommunity.visualstudio.com/content/problem/80433/incorrect-error-c2462-cannot-define-a-type-in-a-ne.html Reviewed By: yfeldblum Differential Revision: D5427029 fbshipit-source-id: ae3737175d5b8e9738ed6b9573412d1d566b0e1c
-
Christopher Dykes authored
Summary: `__gnu_cxx::sfmt19937` is 3.5x faster than `std::mt19937` according to the benchmark. Reviewed By: yfeldblum Differential Revision: D5410705 fbshipit-source-id: d503544a0b9b1b0c614a27466a297a4e6902fc15
-
Phil Willoughby authored
Summary: Previously it generated a warning if compiled with -Wover-align because its alignment exceeded alignof(std::max_align_t). This also meant that heap-allocated LifoSem objects were not guaranteed to be on their own cache-line, potentially degrading performance. This change adds padding before the important part of the LifoSem (to match the existing after-padding) and reduces its alignment requirement. Reviewed By: yfeldblum Differential Revision: D5380700 fbshipit-source-id: 7fdd593a58a2e0c7b03df11152ee4bb66f57e717
-
Christopher Dykes authored
Summary: It was shadowing locals. Reviewed By: yfeldblum Differential Revision: D5422356 fbshipit-source-id: 91da6fcf0b2ea3821394068e9847976e04f43ca9
-
Eli Lindsey authored
Summary: Some implementations of getnameinfo are triggering reverse DNS lookups despite us specifying NI_NUMERICHOST. Avoid all that by instead producing our string representations of v6 addresses manually via inet_ntop and if_indextoname. Reviewed By: yangchi Differential Revision: D5415477 fbshipit-source-id: 67853a85db6517d374d94c8261e56400f4c00fc5
-
Phil Willoughby authored
Summary: The C++ standard doesn't guarantee alignment of things bigger than std::max_align_t which is typically 16 bytes. This means that to ensure something is the only thing on a cache-line we need padding on each side of it to exclude anything else. CachelinePadded<T> will now be larger than it was before, and reinterpret_cast to/from T is no longer valid. Reviewed By: yfeldblum Differential Revision: D5380849 fbshipit-source-id: 20f275c875eb4bede4aef19ac7224913ce9b6d51
-
Xiangyu Bu authored
Summary: Break a few long lines in folly::SSLContext. Reviewed By: yfeldblum Differential Revision: D5418517 fbshipit-source-id: fc2ac310d1f931a1f8a4af077aa5cde347b1042d
-
- 13 Jul, 2017 6 commits
-
-
Christopher Dykes authored
Summary: There were references to things that don't exist or have an equivalent on Windows. Reviewed By: yfeldblum Differential Revision: D5099802 fbshipit-source-id: 9a5a2d0e5cb3a33ecad00bf8a2e1c13315a015cc
-
Christopher Dykes authored
Summary: The file itself will still get removed when `TemporaryFile` is destroyed, but closing it before then allows it to be read when on Windows, because `TemporaryFile` opens the temporary file with `O_EXCL`, so Windows denies read access of the file to everything else. This is needed to fix one of the AsyncFileWriter tests on Windows. Reviewed By: simpkins Differential Revision: D5307719 fbshipit-source-id: bd65962cc3d34f382cc7b0b55dbf2659ed5ebfce
-
Christopher Dykes authored
Summary: There are bugs in MSVC's codegen that causes `StringPiece`'s evaluated in a `constexpr` context to have the start pointer point to one copy of the string and the end pointer point to another. Using the `StringPiece` at compile-time is perfectly fine, it just has the wrong values at runtime. We can work around this issue by enabling string pooling in all modes. Original bug report: https://developercommunity.visualstudio.com/content/problem/3216/c-incorrect-data-duplication-in-constexpr-context.html Reviewed By: yfeldblum Differential Revision: D5409753 fbshipit-source-id: 24e2b343209ba7c86d0dd39a1358d0abe9ee6d4d
-
Ankit Shah authored
Summary: Added getters and setters for ECDSA_SIG to allow for compatibility between OpenSSL 1.1.0 and 1.0.2 Reviewed By: knekritz Differential Revision: D5408934 fbshipit-source-id: 7a3d9df774728c81270cc4da34c75202018e430d
-
Yedidya Feldblum authored
Summary: [Folly] Sort `#include` lines, as required by `clang-format`. Reviewed By: igorsugak, Orvid Differential Revision: D5405153 fbshipit-source-id: 3bb1c2b84271bcf7a195e07680777dbfdd499823
-
Eli Lindsey authored
Summary: This reverts commit 69b0171a9a54738045f9041381aea5512b17eb13 Differential Revision: D5408572 fbshipit-source-id: 3ec8ce96575b632fb134be99cc0d2538a01a7d85
-
- 12 Jul, 2017 4 commits
-
-
Eli Lindsey authored
Summary: Some implementations of getnameinfo are triggering reverse DNS lookups despite us specifying NI_NUMERICHOST. Avoid all that by instead producing our string representations of v6 addresses manually via inet_ntop and if_indextoname. Differential Revision: D5408572 fbshipit-source-id: 69b0171a9a54738045f9041381aea5512b17eb13
-
Mickey Phoenix authored
Summary: The documentation for folly::to<double>()'s handling of unparseable inputs (including "") is incorrect. Additionally, the documentation does not document to<double>()'s handling of the inputs "NaN", "-NaN", "inf", "infinity", "-inf", and "-infinity". This corrects the documentation. See https://github.com/facebook/folly/blob/3272dfdbe243e0ac02acca1dd82bc391d1da079a/folly/docs/Conv.md under the heading "Parsing floating-point types" for the incorrect documentation as rendered. Reviewed By: yfeldblum Differential Revision: D5367656 fbshipit-source-id: 22b38e2bb85d2e647975798360ead39eed6caae8
-
Tom Jackson authored
Summary: This avoids having exceptions occur while constructing hashtables. Reviewed By: ot, yfeldblum Differential Revision: D5384419 fbshipit-source-id: ba2de8cffa46df550bdc62abbe529801249e45cd
-
Phil Willoughby authored
Summary: Should now work on GCC-compatible compilers, and all other compilers which don't attempt any inter-TU optimizations. Moved out of Utility.h because it now requires a supporting .cpp file and some clients presume that Utility.h can be used header-only. Reviewed By: ot Differential Revision: D5381042 fbshipit-source-id: 7e954fed47de4386c85d46a61d56a8fe7fc516f4
-
- 11 Jul, 2017 8 commits
-
-
Christopher Dykes authored
Summary: This reverts commit bc725838dc7f62d030c7e68bc6d229042df2b46c Differential Revision: D5393697 fbshipit-source-id: 4b9ef1e733b0ad73e6deea7ac8a52dfe785b4f2b
-
Benjamin Renard authored
Summary: This revision adds a helper method in folly/Checksum.h, that returns the same crc32 value as php's built-in implementationa and boost::crc_32_type. folly's default implementation only differs from the final xor (with 0xFFFFFFFF for boost and php, 0 for folly), which is added here. Reviewed By: djwatson Differential Revision: D5396671 fbshipit-source-id: 14874af2d5a80408c772875142de6e340ce01038
-
Christopher Dykes authored
Summary: `__gnu_cxx::sfmt19937` is 3.5x faster than `std::mt19937` according to the benchmark. Reviewed By: yfeldblum Differential Revision: D5393697 fbshipit-source-id: bc725838dc7f62d030c7e68bc6d229042df2b46c
-
Peter DeLong authored
Summary: The fiber command can now be run on a value of type folly::fibers::Fiber or a value of type folly::fibers::Fiber* Reviewed By: andriigrynenko Differential Revision: D5393491 fbshipit-source-id: 1f48e08288f75c59852c939062db616eb06cea73
-
Giuseppe Ottaviano authored
Summary: `Baton` is more lightweight than a mutex+condition variable, and the code is much simpler. This was actually the original implementation, but the dependency had to be dropped because `Baton` was unsupported on some architectures. That is not a problem anymore. Also reorganize the includes to follow the conventions. Reviewed By: andriigrynenko, yfeldblum Differential Revision: D5396631 fbshipit-source-id: d782cf271eb35723aaeb3c372e1c1dafeaaf0f0a
-
Xiangyu Bu authored
Summary: The function `setCipherList` seems to forget to update the data member `providedCipherString_`. This diff updates `providedCiphersString_` at a single place `setCiphersOrThrow()`, and adds two test cases to make sure the derived `SSL*` uses the desired set of ciphers. Reviewed By: yfeldblum Differential Revision: D5372758 fbshipit-source-id: 8144ab3bc518b2b9fa8090af62f3bd6475bbbece
-
Yedidya Feldblum authored
Summary: [Folly] Compute masks in `IPAddressV6`. At runtime, instead of storing a 2Kb masks array in the binary. Reviewed By: WillerZ, ot Differential Revision: D5369901 fbshipit-source-id: 031a4eeda1670021236d8ab97f6e85e753675ae5
-
Peter DeLong authored
Summary: Add a fiber_address(fiberManager, index) function so that you can programatically get the address of a given fiber in a fiberManager Reviewed By: andriigrynenko Differential Revision: D5377605 fbshipit-source-id: b9504f7d253e8f702e9329c6f08ff406d4296a6e
-
- 10 Jul, 2017 2 commits
-
-
Fred Emmott authored
Summary: refs hhvm/packaging#128 Reviewed By: anirudhvr Differential Revision: D5380271 fbshipit-source-id: 1cc206d9970b843c3582556096f3ceabeb8d01f6
-
Eli Lindsey authored
Summary: Making the exception text more useful by adding getnameinfo's error code and the v6 scope id Reviewed By: yangchi Differential Revision: D5389137 fbshipit-source-id: e6b9b4edd7dd1859e0ed4d784b2f89a60a701955
-
- 09 Jul, 2017 1 commit
-
-
Yedidya Feldblum authored
Summary: [Folly] In-place construction for `Future`. Using `in_place` as the first argument. Avoid constructing a contained object and then moving it into the `Future`, which may be more expensive, by providing an unambiguous way to specify perfect forwarding. And a matching overload of `makeFuture` for no particularly good reason. Differential Revision: D5362324 fbshipit-source-id: e612965f34ed0fae5fac17db631f7eab9984c696
-
- 08 Jul, 2017 1 commit
-
-
Alan Frindell authored
Summary: as in title Reviewed By: yfeldblum Differential Revision: D5382995 fbshipit-source-id: 87534e6092f167399943287182ec61ae21e608c6
-