Commit 773a9537 authored by Sophie Wenzel-Teuber's avatar Sophie Wenzel-Teuber
Browse files

Squashed 'external/folly/' changes from 2c9b2aadb..c47d0c778

c47d0c778 Parse and capture client alpns from client hello info
dfe135602 fix deadlock folly::RequestContext::try_get()
c3bb66aea Remove custom equality/hash function for ChannelBridge
24759fc8a portability/OpenSSL: Don't assume 1.1.1 implies blake2 availability
cb895545e ensure next stack frame address is valid when walking async stacks
e6c19c133 Fix flaky unit test for ThreadPoolExecutor CPU counter
4bd3e4e0c fix MSVC C5219 in to_ascii
4dbcd7baf Support libdwarf prior to 5
c15766d09 Add TLS 1.3 ciphersuites to SSLCommonOptions and SSLServerOptions
a79234f07 Add IOBuf convenience methods to convert to std::string
450821131 Further changes to support building over XROS
5b38d6fa9 unique_lock_guard, shared_lock_guard
6e0b7ffeb Minor fixes for supporting a build of network_address over XROS
3d889cfc7 bump fmt in fbcode-builder to fmt-7.0.3
f69f764c9 disable test_mount_state_during_unmount_with_in_progress_checkout on eden-asic-build-and-test
0d9e1c881 Update openr manifest to use main
452eab42c Do not use ranges-v3 in folly::coro::collectAll(Try)Range
749d107b5 Add range-v3 as dependency for openr
ee565b405 Fix SocketFileDescriptorMap on older C++ versions
57de05c8b Expose total CPU time used by a ThreadPoolExecutor
118a39232 Do not swallow child exceptions on cancellation
ff7c31779 Add ssl sha512/blake2b wrappers
eecfd4655 Spellcheck
bc254c2a4 let SharedMutexToken export a nice interface
e652b1b29 Cleanup CollectTest to use `EXPECT` instead of `CHECK`
9cad4956c Rm non-const ctor for not_null
ed110c195 cmake: build edenfsctl Rust
ea7aeab58 Implement range-accepting versions of collectAny*
8ccd13f01 Use relaxed_atomic in ShutdownSocketSet
1a0ac04b6 upgrade to VC++ 2019
c7e3550fc relaxed_atomic, atomic with assumed memory_order_relaxed
8516df379 portability tweaks to ShutdownSocketSet
bc1365d3f Move isWaitForAll_ from ThreadPoolExecutor to IOThreadPoolExecutor
5c748c424 Have OSS build pick 'fizz' from 'main' (instead of 'master')
d96d961fd hazptr_test: Fix test and microbenchmark
a27929669 Add callback for single EVB loop duration violators
bb46a5293 revisions to win32 SocketFileDescriptorMap
cc9032a0e remove folly::Subprocess::CLOSE
ba00aa3c6 Make LogCategory::getPropagateLevelMessagesToParentRelaxed() const.
d5b2c6988 Skip some TFO tests according to kernel tcp_fastopen setting
96e1a8b60 mark clocks with spec tag
2157eecde let coarse clocks use underlying clock durations
32ea1ed5c Add RequestContext::try_get() (re-do of D31006847)
78a00dec6 Change ObserverManager::withDependencyRecordingDisabled to a template
40bf7f0e7 FanoutChannel: Change falcon code to use FanoutChannel's custom context
af581bd82 FanoutChannel: Add support for custom context
c7e095e7a FanoutChannel: Rename getNewReceiver/anyReceivers to subscribe/anySubscribers
702374dc5 FanoutChannel: Change implementation to use FanoutSender
bf1b6d057 FanoutChannel: Change TValue to ValueType
140e8ccd9 Revert D31006847: Add RequestContext::try_get()
865e84760 Add RequestContext::try_get()
d5fb10134 Make all versions size_t
62887e3ee fix SingletonThreadLocal::try_get
e698dfa1d Add OpenSSL Hmac copy ctor/op=
ba2db8d9c SingletonThreadLocal::try_get()
06e4b1aa4 Prefer returning read data on cancel
366cd1ecd Add bytesAcked to TcpInfo
1456b13dd Ignore -Wcovered-switch-default Clang warning in Folly
0ee04209c make OpenSSLHash lazy-allocate the context, make move operations noexcept
7b71f5e54 fix self-assignment for OpenSSLHash::Digest, throw if context allocation fails, implement move support
b258ee318 provide an API to easily redirect stdin/stdout/stderr to /dev/null
4d5b7ad4e Detect and enable C++ couroutine support on CMake build with GCC
fb5c25d96 Deprecate folly::vformat
94f01f8f4 hazard pointers: Rearrange invoking asynchronous reclamation in executor
9258f5e9c Fix typo in macro: FOLLY_HAVE_SDT
61e00b114 print tid of the stalling thread.
a082c7734 folly: add freebind to async udp socket
83a6ce73f Add co_schedule() method to AsyncScope
26cd6e79d folly/portability: ftruncate shouldn't change file offset
50200930a Have OSS getdeps.py pull code from 'main' (instead of 'master') until all repos are migrated
c0b400978 Handle std::vector<bool> in FanoutChannel
7d8dfb91b hazard pointers: Shard the domain's list of untagged retired objects
82f9889c3 hazard pointers: Consolidate non-cohort and untagged cohort retired objects
b3833ef17 hazard pointers: Eliminate thread local lists of retired objects
4f4c0ff8e reflect the wangle github branch rename from master to main
eca992933 fbcode: symbolizer: clang-12 DWARF5 emits Split DWARF inlining as DW_TAG_skeleton_unit instead of DW_TAG_compile_unit
91b962e33 SharedMutex: Add build-time flags for setting default spin and yield counts
8ee373cf8 Deprecate folly::svformat
8ecee58a5 hazard pointers: Extend cleanup to cover cohort objects
58f83287a update the branch name for the fb303-source manifest
d2643855f Add a coinflip library.
47844d920 Fix compilation issues on Apple platforms. (#1641)
691006953 folly: symbolizer: tests: switch from qsort to lfind -- ASAN in LLVM12 adds an __interceptor_qsort.part.0 which makes stacks differ between ASAN and non-ASAN
490b287ca folly::symbolizer: add support for DWARF5
0c8f7e291 add support to custom main branch name
60d9f5d79 Changes for building in Debian (#943)
4ae8b4df0 Fix vector overloads for makeUnorderedAsyncGenerator
a782676bb Remove vformat and svformat from folly/Format.md
b765365df ConcurrentHashMap: Fix cloning of non-copyable items
2a20a79ad Add move ctor and makeEmpty method declarations to cFollyPromise
835de7934 Use CancellationToken::merge in all collect functions
02a4b2002 Fix Folly issues with -Wcovered-switch-default compiler flag
8be32da3a Add a comment explaining some confusing IOBuf functions
2c7411fec ConcurrentHashMapSIMD: Return iterator to new inserted item
dc843dade Fix a typo.
2906e83c2 expose make_optional to cython
23133cdbf Back out "Change Context Pool Stripes from 4 to 128"
8522192e7 Updating CLI11 symlinks to include CLI11-2.0.0
e460690d6 Add a AsyncSocket::LifecycleObserver->connectError() callback
0d7f79c29 Setting up basic build for delos_core
6ce98b526 folly | CppAttributes | Add portable version of FOLLY_ATTR_MAY_ALIAS, to allow for usage across compilers.
ccf988457 assume gcc > 7 in UniqueInstance
e8ccd7a49 Cut an outdated comment in FutureBase::thenImplementation
7c93aeb36 Use WorkersProvider in CPUThreadPoolWorker to collect thread IDs
d365f9e4a Move fd_ to the initializer list in AsyncSocket constructor
2e2e7af85 add copy assignment operator to BasicDynamicTokenBucket
559c679d9 hazard pointers: Fix flaky test
00c5c00fc fix nullptr-with-nonzero-offset in folly/io/IOBuf.cpp
7e6bdbbd6 Add warning when using TaskWithExecutor + InlineLikeExecutor
cda1e77c8 hazptr_obj_cohort: Fix reclamation of safe list
ae4ddebe7 Update TcpInfo namespaces
416d85c59 Add TerminateCancellationToken utility
957741d55 move to common shared directory
4f9b82928 let FOLLY_TYPE_INFO_OF always use its arg
bf6d3e57a include <optional> in Channel-fwd.h
2360b2276 add fdAttach callback
15ffb9b02 Add a parameterized ctor and m2 getter
80572dcc6 Fix static_assert for C++20 (#1628)
2f05671bb Use std::default_delete by default in folly::erased_unique_ptr
379e39cc7 Reapply with more fixes: "[folly] Fix concurrency issues in ConcurrentSkipList.""
21f9cf7d7 Record OS thread IDs for threads used in CPUThreadPoolExecutor
7f69cb312 Add FanoutSender abstraction to channels framework
b817015da Add WorkersProvider interface to QueueObserver
3eb9e9856 cut unused config FOLLY_SUPPLY_MISSING_INT128_TRAITS
49255a756 Add gdb printer for folly::ConcurrentHashMap.
6e3209850 move queue-observer
f55bad227 folly | Fix hard-coded assumption in folly/Portability that MSVC builds always have SSE4.2.
37e6bbcc0 folly/Benchmark.cpp: right align user metrics
d9abea1b5 Back out "Fix concurrency issues in ConcurrentSkipList."
c9875b798 switch to tp2 CLI11
951a343b0 Add CLI11 manifest
451819f6c tweaks to futures interrupts
3e84bbd64 adding copyright header
f4c8e8337 fix race handling bug in futures interrupt-handler
d0edf4c66 fix observed double-deletes of futures interrupt handlers
9781d415b avoid generating internal dependencies for public CI
0d35ac1da include rust-shed in edenscm builds
14933d5f7 Cast an unused variable to void during NDEBUG builds
a87dba717 Rename alpn option in folly/openssl
248210791 fbstring: switch FOLLY_NOINLINE inline to FOLLY_NOINLINE
57f9d2cd0 workaround LLVM-12 coro bug
8adc1e1f2 Mock Cpp2ConnContext
3e9865fca fix nullptr-with-nonzero-offset UB in CacheLocality.h
c22c915d0 Avoid throwing exceptions when using co_invoke
647115485 Ensure that getCoreAllocator() is shared across DSOs
cc4308cfc makeUnorderedAsyncGeneratorFromAwaitableTryRange -> makeUnorderedTryAsyncGenerator
65180b253 Reduce memory usage of CoreCachedSharedPtr
5fbc84923 Workaround for opt-gcc compiler bug
cc0f64d2d Change Context Pool Stripes from 4 to 128
854cb5ced Add CancellableAsyncScope overloads for makeUnorderedAsyncGenerator
dc4916065 Fix typo in Hazptr (#1611)
d33f356c1 SharedMutex: Remove single-use intermediate constants
c3c6b7889 spell small-vector uses of the trait as is_tivially_copyable_v
2f5a71ddc Allow using CancellableAsyncScope with external cancellation token
c17ed2051 SharedMutex: Change SharedMutexPolicyDefault and change default spin and yield counts
b9176fc5b Fix FreeBSD Build for Huge Page Allocator
480538b28 Add test for coro::timeout on final asyncgenerator result
8067a2569 Consistent ordering comment for collectAll[Try]Range
ff841baa2 Do not leak GFlags.h in widely included headers
5e2ab64f8 Fix SSL exception slicing
832f135ad Make co_awaitTry(AsyncGenerator) return Try<NextResult<T>>
7fc541e80 RequestContext::StaticContextAccessor
446839935 Don't use typeid without RTTI in UniqueInstance
3275d8925 makeUnorderedAsyncGeneratorFromAwaitableRange -> makeUnorderedAsyncGenerator
937fc9806 Use CoreCachedSharedPtr in Singleton
4baba2820 thrift: varint: BMI2 (pdep) based varint encoding: branchless 2-5x faster than loop unrolled
dd7d175ac Factor ticket key manager into handler interface
d4241c98f Allow JemallocHugePageAllocator to Grow
9acfd80da Add CoreCachedWeakPtr::lock() method, improve benchmarks
6696e55c7 Remove unnecessary string copy in JSON serialization
cdb7a478e CancellableAsyncScope pass through the correct returnAddress
f623e9948 Use small_vector::copyInlineTrivial only if the storage is small
ef028e3b2 Add async stack trace to CO_TEST_P
e121b8f69 Re-sync with internal repository (#1619)
efb164ad2 fbshipit-source-id: 80e349aa411d8b866747d1821b215adfbc51b53f
4f304af14 [folly] Add additional overflow checks to IOBuf - CVE-2021-24036
bb79a9bee Dump async stacks on uncaught exception from CO_TEST_
4548ec7bf Fix makeValueObserver to call creator once on construction
b8fdbc94a Fix stub of sockets for EMSCRIPTEN and XROS
653703a38 Add API to set cmsg for write
ca7ce442f Add AsyncSSLSocket::setSupportedProtocols
2f7fdc20e Add support for Subprocess to call sched_setaffinity
d26d241b9 Reorder definitions in AsyncGenerator.h
bdf374148 fix semantics of QMS::Iterator::skipTo
ea91c9bc3 Have collect() handle the case of a not-ready future
74f3c0434 Remove unused UniqueInstance::PtrRange
0f00cc10c TokenBucketStorage primitive extracted from BasicDynamicTokenBucket
7a18d1823 Back out "Don't use typeid without RTTI in UniqueInstance"
436e7fd69 Back out "RequestContext::StaticContextAccessor"
21021ec98 RequestContext::StaticContextAccessor
160eb4d28 Don't use typeid without RTTI in UniqueInstance
55033066a a test for memcpy-use
367f28b77 Daily `arc lint --take BLACK`
427077374 Move FindZstd.cmake into fbcode_builder
a405d0730 Mark zstd as a dependency of fizz
40803d695 Opt in opensource/fbcode_builder to pyfmt
c2ea37612 Revert D29536635: RequestContext::StaticContextAccessor
52c780896 fix flaky test
bc0818f89 RequestContext::StaticContextAccessor
cb36f3c84 Optimize small_vector copy and move for inline storage
c226674cd cut Tearable
cb55944fd Make `travis_docker_build.sh` macos-compatible
1787a34ad Implement contains() in sorted vector types
ee8d0a531 Make ThreadLocalPtr::Accessor::Iterator default construct as singular
af7df2549 Make folly::detail::IteratorAdaptor default-constructible
95f24e435 Make RequestContext::StaticContext an aggregate struct instead of std::pair
db6d0a105 Fix waiters signaling in BatchSemaphore
b1fa3c6f9 expand the lock protocol and facilities
4215b920c Enable fb dynamicconfig loading inside eden backingstore
eac6011ae Initialize value in loadUnaligned
73484b8ab win: add --return-nonzero-on-failures to sc_testpilot
d6610d607 import or backport reinterpret_pointer_cast
1583ff067 Regen github actions (#1614)
6bfd38792 Fix Guard to respect early termination
120926cdb Channels framework
af0a489db Fix typo in AtomicSharedPtr (#1610)
1f106643a Enforce ALPN match when both client and server support ALPN - folly/openssl
d7ba07915 Enable FixedString construction from a string_view
aa605f8e9 fix lock order inversion in SharedPromise interrupt handler setting exn
6a6e02c2a Avoid a shared_ptr copy in ConcurrentSkipList::Skipper construction
5b5e814e9 testpilot: testpilot is broken on Sandcastle
ec15ad3d4 use faster impl in Singleton stack traces
c03e671e4 Make folly::FixedString::hash constexpr
f434460f8 Add computeChainCapacity function to IOBuf
ea968c307 Only execute callback if snapshot data has changed
f5fe40058 allow LockFreeRingBuffer::Cursor comparison
f29212f6e Remove unnecessary atomic from folly::coro::collectAny
4011d18ce Use SmallUnboundedQueue by default in AsyncPipe
772aab733 folly::coro::SmallUnboundedQueue
29bc878de Make cycle detection FATAL instead of throw and disable it in opt mode
45666e3d0 update the Core fake layout for testing
40d61f3f0 Use is_pod, add <system_error> include for TcpInfo
c634f9c36 Remove dependency on FixedString.h from TcpInfo
5dff29321 Add collectAnyNoDiscard()
28858c2ed move watchman includes into their own directory
384b72ff2 Move test utilities into TcpInfoTestUtil
6f4811eff Fix concurrency issues in ConcurrentSkipList.
13bccbbff Support returning move-only types in folly::Expected::then
b194210a5 Use optlen instead of return code to determine bytes read
dfb73b055 Disable all options by default
f1d5088b3 Add function that enable all observer options for AsyncTransport
c7400627c ConcurrentHashMap: Fix a bug in replacing the value of an existing key
a05360ec5 Enable observers to request socket timestamps
5c4c45a4b Speed up findLocation in the absence of .debug_aranges (#1607)
852cd96da hazard pointers: Support class and function names consistent with WG21 P1121
fa9ccf039 fix destruction race for terminateLoopSoon
96f589374 let the semaphore test use Latch
ca2e0d758 Add setTimestamping in AsyncUDPServerSocket
3b4f9dfcd invoker suites
16837f094 hazptr: Improve readability, specialize friends, use specialized aliases
bb47922f6 Support CO_ASSERT_THAT
68a78d99d TcpInfo, an abstraction layer to capture and access TCP state
16ac56e4e Remove semicolons at the end of macros after `do {} while (0)` (#1605)
a1056c1d0 Set TOS for AsyncServer listener socket
d92bb4bbf Support move only objects in `collectAny`
033fa8af5 fix race between EventBase and EventBaseLocal dtors
76c832bd3 Add opt outs to shipit
02d4e3276 Stub out sockets for EMSCRIPTEN
c30526f7d Add CO_TEST_P
a7b4818a5 add option not to prefer /usr/bin python on mac
b8f355515 Implement coro::collectAny
dc7ba0b5d The Latch synchronization class
ddcb93e03 complete the transition away from LockTraits
b65ef9f8b cut legacy LockedPtr::getUniqueLock
07ab2e2b6 migrate from LockedPtr::getUniqueLock
78e483e02 Correcting and adding a coarse_ * clock (#1580)
7a06e2f49 suppress lint-time diagnostics in OpenSSLThreadding.cpp
b805d8533 revise Synchronized LockedPtr to use lock types
424e569f1 cut legacy friends of SharedMutex
ff7ab9dbe Fix ParkingLot memory ordering bug
d418b5ee2 check functions for DistributedMutex
348568d45 use lowest() in numeric traits
5c8255f74 make deleted function public for AsyncUDPSocket.h (#1603)
5d231c67d Add back default SerialExecutor defaulted to getGlobalCPUExecutor.
b66627fc5 HazptrDomain: Remove unused data members and function
99893da20 Remove use of default SerialExecutor
619435609 io_uring SendmsgRecvmsg test fixes
3d4885b9c keep_sink_nx
12ccdf771 Remove dead includes in folly/executors
a6321e32d fix tpx command line when filtering is enabled
731238517 Fix openNoInt building error after android ndk r21 (#1593)
ed1736269 Build in automatic cancellation support to AsyncScope
e47bc9b44 add hasher<string_view>
b3427e717 FB_LOG_ONCE()
db723b641 Add TLS 1.3 to SSLContext::SSLVersion enum
3d61464fd extract some SharedMutex params to a policy
704df4423 simplify catch clauses constructing exception_wrapper
fdc8edc24 let try_and_catch work with -fno-exceptions
168d50be3 let proxy-lockable unlock pass the state by const&
1bc5dd9d0 Clean up old googletest conditional compilations
59d016319 work around a miscompile crashing DistributedMutex::unlock
b42e5ace6 cut try_and_catch overload taking explicit types to catch
6a4d3877a Switch getReadBuffers to be IOBufVecQueue::IoVecVec based
2b7d6e1d9 Fix skip pointer population in EliasFanoCoding
0adab1a92 Add folly::IOBufIovecBuilder to be used with vector recv
7e9fdf18f cut diagnostic suppressions in exception_wrapper
14c2b1dc4 fix a static-assert for C++20
d7389fcfb ProxyLockable revisions
6fd0d1b5a simplify exception_wrapper::handle
98c2c6f1d implement exception_wrapper::with_exception directly
5ec574fe3 FindSodium: Do not create target unconditionally (#430)
5e84ececc implement exception_wrapper::is_compatible_with<Ex> directly
cd2a2b289 Add deadlock detector to folly and thrift server
e1d5ba6e3 implement exception_wrapper::get_exception<Ex> directly
9859073e5 Missing cmake cache variables (#1090)
a6dc47696 feat: add support for compiling open/r on 64-bit arm linux (#95)
7fd0a5928 fix formatting of folly benchmarks when --bm_relative_to flag is given
3faf3ec06 Build FBOSS with new OpenNSA 6.5.22
68e8023e2 Update OpenNSA manifest to latest 6.5.22
72e44528a fbcode_builder: getdeps: libyaml: add manifest
ba3cfbb0d Throttle accept error logs
525c2f4f6 fix typo in detected_or doc
852d07b4e hazptr: Change hazard pointer construction to be consistent with WG21 P1121
a1bd849e1 cut references to exception_wrapper::hasThrownException
2b1b09ed7 categorize errno-domain exceptions per platform
58d7ddb2a tweak DistributedMutex::try_lock
e1393143a fix unique_lock<DistributedMutex>::operator=
bf8f5e1cf more exception-tracer detection of libstdc++
780643b39 Add IOBuf SizedFree API
07112a710 work around msvc warning C4127 in to_ascii (#1590)
47ee6e69c hazptr: Use WG21 P1121 function names protect and reset_protection
5e9db683b no longer need a guard in StackTraceStack
a73640d76 Add optional parameter to consume() and cancel()
187d84224 Move AtomicQueue to folly
17a3ed12e Add some coro guards for windows and clang
8ca4693de exception_wrapper thrown variant via abi/runtime
eadcf5ebd Add TakeOwnershipOption::STORE_SIZE
99fbca1df Add rsa_pss signature schemes to SSLCommonOptions
85d4e767f Add callbacks for sized free and corresponding allocations
93b54d70c Add support for IOBuf::takeOwnership sizedFree
f2e8440cd coro helper for SKIP() gtest macro
48f6f9fed Fix openr.thrift Python Module Build
30186d69c Replace `LOG_FIRST_N`
0fee9dfce fix exception-ptr accessors for libc++ again
cc0eeb35b hazptr: Improve documentation
41b7e6ba9 More type erasure support
2b4649b47 Add use-after-destruction error messages
51ae3ffb7 Add sendmsg/recmsg io_uring support
653f9938d Add ConstructorCallback to AyncSocket
44739203b Back out "exception_wrapper thrown variant via abi/runtime"
d7e900758 expose ConcurrentSkipList::size
f498404ba Apply clang-format
beded0e85 Fix table size for android (#1584)
c1d0b9861 Really,really make ConstructorCallback -Wglobal-constructor safe
e4cfd54f6 port exception_ptr_get_object to freebsd (#1585)
fba498710 Back out "Switch SerialExecutor to default to the immutable global executor"
b4fc73f70 Use binary search over threads
8140959ee guard every file requiring elf/dwarf (#1524)
57fc0cfb2 exception_wrapper thrown variant via abi/runtime
b648738e7 Add executor pointer to guard and log that plus name
b9f3d9be4 Switch SerialExecutor to default to the immutable global executor
5e0cf312d Fix folly::coro::timeout to work with AsyncGenerator
2170bef0b fix exception_ptr_get_type for libc++ < v10.0.0-rc2
df9437f96 Fix observer initialization on fiber
4c23632fe Extend MockAsyncSocket to include observer functions
c7a95dcbb Fix removeLifecycleObserver in AsyncSocket
99f856ae2 Changed ConstructorCallback to work with -Wglobal-constructor
c464335f1 expose commutative accumulator as commutative_hash_128_to_64
83b07aec4 Add path to problematic element into json print_error
40233942b Provide a new optimized AVX memcpy with prefetch
fef591290 ConcurrentHashMap: Fix bug in try_emplace
89b838736 [easy] Add comment to ConstructorCallback explaining non-race
956885e91 Update folly::experimental::coro docs to account for getCPUExecutor deprecation
96b303638 Fix dev-tsan error
e75e88297 avoid syntactic copy elision for ExecutorBlockingGuard
ba405c6be Back out "exception_wrapper thrown variant via abi/runtime"
270a7974b Back out "cut references to exception_wrapper::hasThrownException"
b24643035 cut references to exception_wrapper::hasThrownException
97e3d72b7 a non-concurrent token-bucket variation
aa7f74aaf exception_wrapper thrown variant via abi/runtime
808c26009 fix clang-12 -Wdeprecated-copy
72bbd4c13 use relaxed memory order in TokenBucket
3b0e443c5 policy structure for TokenBucket
6f38cd40a Enabling support for folly::splitTo<std::string_view>
ea1cdd1ad tweak size checks in to_ascii
a8a754aa1 rename the redefined __cxa_exception
7605607e9 cut the global mutex in EventBase
0b29ff656 Replace folly::make_unique with std::make_unique (#1572)
e2ca17cb6 remove the use of _LIBCXXABI_HIDDEN
4e46fb838 Add re2 as a dependency on getpdeps
9e1368628 Add an OpenSSLTransportCertificate
7063a7366 fake the libcxxabi type-info shim
62c4eb403 apply upgraded black 21.4b2 formatting to fbsource
0383893a5 revise int128 traits
4720e456a GCC compiler bug workaround for timed_wait and detachOnCancel
9454bc455 HazptrDomain: Change DCHECK of tagged_empty() in dtor to a warning
0ff4306d0 Fix for proxygen fuzz build failure
7a875f2a3 Allow BenchmarkSuspender to be created in an initially-dismissed state
6cd060f18 move return type calculation in catch_exception
0f30fbc44 Adding x86 support for to_ascii_port_clzll() (#1567)
896a7356a cut unused macro FOLLY_TLS
e1582a7f0 init SocketAddress::port_ in default-ctor
cf5906ecf fewer bind-to-device conditions in AsyncUDPSocket
b0a01afc7 Add support for AsyncUDPSocket SO_BINDTODEVICE
4e7efffdc revise exceptionStr
93d52d898 use to-ascii array vs table on mobile
ab79b8559 exception_ptr_get_type, exception_ptr_get_object
644845829 assume thread_local in StaticMeta
94d0da772 walk async stack traces correctly
29ba83e52 assume thread_local in AtFork
6ed9d3783 shrink UniqueInstance ctor
ebe2f7759 coro helper for FAIL() gtest macro
9552fbcd6 tweak catch_exception taking fun-ptrs
f35ba9163 work around gcc < 7 in UniqueInstance
3bab334d2 assume thread_local in SingletonThreadLocal
3cdd30090 Fix several C++ warnings (#1565)
903990dbc tweak FOLLY_LIKELY to accept complex expressions
cdf0badc8 Change socket QueueMessage to a variant
0b19393ba assume thread_local in Executor
eeaef4a27 make the template part of the unique-instance key
2a80218d4 Add terminateOnBlocking parameter to CPUThreadPoolExecutor
2798cd1b9 expose AsyncIOOp::getIocb
9eff0218e Add api to check if AsyncPipe is still connected
ab5d1a0b5 Optional peerAddress argument for sockets created with fd
e5cb25c20 fix -Wsuggest-override and -Wsuggest-destructor-override
4794b98ca Add a termination tag to the blocking context
da606bda7 use only public gmock interface in transport/socket lifecycle observer
92d8ef303 prefer thread_local over FOLLY_TLS in F14
f68ed33b5 move thread-id function bodies to source
dead70cc8 add missing include of <algorithm>
8ed2344bc StaticSingletonManager type-erased create
6fcad841d fix the deprecation suppression for gcc in the exception_wrapper test
e6e7080e3 fix a couple of -Wunused-value violations
5d1b9736e prefer thread_local over FOLLY_TLS in SharedMutex
9ce8cd460 use INSTANTIATE_TEST_SUITE_P over INSTANTIATE_TEST_CASE_P
76f8268c7 prefer fmt for formatting in small-locks bench
2e5f2baed cut google-perftools spin-lock from small-locks bench
db330e7ce fix memory order in hazptr example
31fbd123f cut posix semaphore polyfill
2a4fe7cae Rename ForbidTag to TrackTag to be more consistent with its implementation
b756d1667 Unregister event handler fd before closing the fd in EventBaseAtomicNotificationQueue.
0297c176c cut macro FOLLY_CL_USE_FOLLY_TLS
483df6d0c fix missing include in inline-function-ref test
4e1a864b8 use TYPED_TEST_SUITE over TYPED_TEST_CASE
f0d7b6d50 switch tests/benchmarks to folly native semaphore wrapper
58a889d7b NativeSemaphore
e9a24429e forward env vars through tpx
cc049da2c Allow creation of dismissed ScopeGuards
a99615fe0 support FOLLY_SAFE_CHECK with no message args
dbfa7c455 Make sure all observer adaptors correctly capture dependencies
1366baf81 let SingletonVault::type_ be atomic
549f235f7 tweak rcu benchmarks
cd58205e0 remove AccessSpreader extern-template-struct
c5651a004 mark the SingletonThreadLocal check function as kept
1bc16f197 Add Unsafe names for set and get executor calls
6696dbb00 cmake: set CMAKE_CXX_FLAGS in FBCompilerSettingsUnix.cmake
185756251 call future continuations after catch
7c86b9b48 __PRETTY_FUNCTION__ -> __func__ in FOLLY_SAFE_CHECK
a87085f26 Prohibit passing empty KeepAlive to scheduleOn
b5e88664b Add support for AsyncSocket connect bind to device
fc32eee35 use do-while-false in FOLLY_SAFE_CHECK
fa173c4ee outline HashingThreadId::get
e370385aa Fix a singleton at fork race?
a3c1fac8e use static in FOLLY_SAFE_CHECK for clang+asan
e31125bcd Add support for AsyncSocket readv operations
8b26cdbd6 use extern-access for sanitize wrappers
ebb45e070 Fix a shutdown race in CPUThreadPoolExecutor::add
c69aa19d6 Add json::print_error and use it for serialization errors
c6819f964 fix FOLLY_SAFE_CHECK under gcc+asan
e663b2bcb use weakref for cxxabi demangle
4a6e1bea6 check functions for AccessSpreader
b310ff2ea Add support for AsyncServerSocket bind to device
bd600cd4e Move ReleasableDestructor into HeaderClientChannel
cd3552c15 Back out "Fix a shutdown race in CPUThreadPoolExecutor::add" (#1561)
d31902b95 Mechanism to fire callbacks on new object construction
6f9321c4b Improve cpu id caching in DigestBuilder
d5bf7f5a5 Patch unit tests to work with GCC
b471fe2a9 avoid operator!= ambiguity in c++20 (#1544)
692d08fb3 Refer to type names consistently
89383c3a3 remove unused LockFreeRingBuffer functionality
d4b9778f2 Use different parse errors for NaN and INF double values.
6ea76266c Add HazptrObserver
18a2bc79c Reset the counters to make repeated tests pass (#1556)
c598d4d1b FreeBSD build fix, adding proper dependency on backtrace too. (#1557)
37d9cd904 use thread_local in AccessSpreader
cb45060b2 Update AsyncSSLSocket factory functions to return unique_ptr
656319d70 Return actual iterator on assign_if_equal
c63e06087 tweak ShallowCopyRequestContextScopeGuard ctor
68104e033 default LockFreeRingBuffer to trivial and make it compatible with TSAN
15ee6d715 always copy into LockFreeRingBuffer writes
2b9c0388e make SequentialThreadId not a template
266ca3b25 Fix compiler warnings in small_vector
c8613fb49 migrate from uint64ToBufferUnsafe
b91dd2f6e Fix a shutdown race in CPUThreadPoolExecutor::add
7c4413dac get rid of hack to support label attribute for 1.7.0
3d0ae9740 Conditionally include fmt/format.h (#1551)
dced01333 Add a function to check if the process is in crashing
6902012a5 revert AccessSpreader thread-local and extern-template-struct
eeec4600b prefer thread_local over FOLLY_TLS in most cases
eb3f0d209 flag manual import so autodeps won't add symbolizer to default init deps
c09d7af4c Add ability to specify an offset to IOBuf::takeOwnership
67c99b139 excise AccessSpreader extern-template-struct
ad41ba19d outline AccessSpreader::initialize
b98c937c6 make libunwind portability header
54c929bc4 let to_ascii_port_clzll always return non-void
897fd4bff revert default value of flag folly_memory_idler_purge_arenas
2ff216560 Make getWeakRef preserve SequencedExecutor tag
355fec904 Validate IOBuf capacity at construction time
712553603 avoid FOLLY_TLS in tests
1af19a96c File::dupCloseOnExec()
03fa494f0 support disabling tests in cmake under apple
4033d1861 multiple tags per test in cmake build
c841c365a avoid forcing the type of clzll
5ef57d705 avoid ambiguity in to_ascii_size
8f8022359 un-monomorphize parts of SingletonRelaxedCounter
0a8487bd2 let to_ascii_max and to_ascii_max_decimal be variables
db0244ad8 fix the flipped condition in MemoryIdler
ab0952cbb revise LockFreeRingBuffer::internalBufferLocation doc
b3f67e050 Fix linker error with SanitizeAddress.cpp on non-ASAN win32 builds
09cc63cb9 Allow customizing boost::po::command_line_style in NestedCommandLineApp
12466d5fa Disable zero copy when performing SSL handshake
916d7d93d extern access
6e9d4d690 Fix darwin and hphp build failures for PrimaryPtr.
056d288f1 Remove nonexistent path in CMakeLists.txt (#1553)
4fd5a6f24 a safer to_ascii api
91ef8d685 Direct initialize semaphoreWaiter (#1554)
2fd1e607d Remove dead includes in folly/io
6f1d51be7 OSS jobs to tpx
105cc30da Remove dead includes in folly/hash
fbf1aff85 Remove dead includes in folly/system
85bc0de2f shrink SingletonRelaxedCounter inline slow path
7426f02a6 remove folly::SpinLockGuard
e4fb76b61 Don't throw in noexcept ViaIfAsyncAwaiter::await_suspend
716ff89f4 Update OpenNSA manifest to latest 6.5.21
b7c8b2ff2 Remove dead includes in folly/stats
e2d5a3f6d expose LockFreeRingBuffer internal address/size
02e534fb2 Stop purging arenas in MemoryIdler
deb71d745 Mark some destructors that are overriden as `override`
d104e15d1 Enable getdeps build on macOS
65f2b77f9 missing braces in CancellationToken merge
9110eef93 Add IOBuf multi create/destroy benchmark
fdc64cf0b revise SingletonRelaxedCounter check functions
59b71bbba IOBuf combine allocations only within size classes
25cfb0311 ReadMostlyAtomicObserver and minor cleanup
cae314d62 define HOST_NAME_MAX for Windows and Mac
0be014105 Add libicu manifest
3a967c59e NestedCommandLineApp Add -h as an alias for --help globally and to all subcommands
552024d3a Fix one compilation warning - implicit conversion
82e4fd9e8 support coroutines for clang on windows
8aeb9ba98 SharedMutex TSAN: call destroy only if the annotation was created
6d8bd01c3 folly::Try: add value_or() implementations mimicking std::optional::value_or API
d3f0a2833 Inline the assume() check in debug mode
413e451f6 Including Dwarf symbolizer only if Elf is available
db12b1f4a Use compatibility pthread implementation
3a210ac85 Daily `arc lint --take CLANGFORMAT`
0293ddd15 getdeps: add a test target to eden_scm getdeps manifest
93599534a notes for FOLLY_UNLIKELY
fa02762b2 In SafeAssert.cpp define fsync when unavailable
8d3533baf Suppress signals handling in `Init.cpp`.
927e83e50 Remove broken github status badges from folly README
0bf43926a Minimum port of `SysResource.h`
c8206faf1 use folly_struct_timezone to avoid name collision on win32 for polyfill
fb6452111 Make RWCursor constructible from IOBufQueue
7df2d7e50 handle non-constant SIGSTKSZ
5b373171f Using reply struct instead of folly::Function
7cdcfcab6 Fix Range.h to compile in c++20 (#1542)
a3ab54854 fix internal clang errors on Windows
01f868173 let symbolizer code use to_ascii
42b60e0e7 Extending putMessage() to take multiple arguments
e7c48a6ed dynamic_view for safer traversal of dynamics
57e3562c4 Rust-compatible adaptors for Task and AsyncGenerator
8ebb6e9e5 update URL for the libmnl to the official site
82fce98f1 Let assume be invocable anytime
e5460d022 gdb: handle missing struct pthread definition when finding async stack traces
dd71878eb gdb: handle uninitialized folly_async_stack_root_tls_key
8a82e909c thunk::fail
cc95898a9 A new NotificationQueue without read limit for server responses
ab129b5e3 copy socketpair for win32 from libevent and tor
163f3c3a9 move thunk into its own header
59dcfc1f2 Back out "Remove setZeroCopy() override"
64b3c42ba Change strand executor segment size to 64
08ea8bedf Successfully build some tests with GCC
966d33509 fix FOLLY_SAFE_CHECK under some gcc versions
f8c901f5f Add options to disable gflags to folly::InitOptions
314776572 Make getGlobalIOExecutor return a KeepAlive<IOExecutor>
47ed7d6e9 reset_once
ee7765187 keep_sink
f4f864efe fix safe-assert test link failures without weak symbols
bda140dc1 Remove setZeroCopy() override
eef86a252 Add CoInvokeWithoutArgs googletest helper
29de57bd8 deprecate try_and_catch taking explicit types
9a474aecc Fix -Werror,-Wshadow-uncaptured-local errors
b4f7d8221 revise FOLLY_SAFE_CHECK
55dfcb035 let some thunk members take variadic args
6329dbd5a thunk::noop<...>
b3cbe1d52 expand the erased_unique_ptr facility
63ee5137d avoid snprintf in Elf code
994d82d36 SmartExceptionTracer: add ability to print async stack trace if exception is thrown
b97f89e57 disassembly inspection functions for FOLLY_SAFE_CHECK
c09fadd4a Avoid bumping cancellation token refcount on moved-in tokens
35271eacc implement implicit conversion from FixedString to std::string_view
47e384c52 folly: SafeAssert: variadic macros to enable more detailed error reporting from signal handlers
9b6c06fa9 Revert D26612326: A new NotificationQueue without read limit for server responses
e741d8efa Replace if-statements with `if constexpr` statements
28799ed1d A new NotificationQueue without read limit for server responses
db94b222c Make parseTo work with arbitrary string types
e9d7342eb Stop relying on net_tstamp.h in AsyncSocket
df81d76cd Remove default argument for SerialExecutor::createUnique
14c99ce6e fix to_ascii under 32-bit msvc builds
749f7a4b3 get_running_executor a modern alternative
7d413635c Make XLOG_EVENT_MS capture variables inside expanded lambda.
431c16c3f fix F14 fallback find() for stateful key-equal
0efd32c40 add heterogeneous access support to EvictingCacheMap
0fbe9c5bd Add StreamingStats functionality
438afd7d7 define GENERATOR_REF
3af4c3db7 remove folly/io/coro/Socket.h shim
8b4086af7 rename coro::Socket to coro::Transport
c3156ea8d coro::Socket wraps AsyncTransport
2f7a12640 Daily `arc lint --take CLANGFORMAT`
7c7531bd2 Mark StaticMata as FOLLY_EXPORT (#1533)
5a37f8c84 reduce inline code size of Executor::invokeCatchingExns
4d235eee5 update farmhash.cpp to avoid an unused function error on android
e85a11d52 Print async stack trace in signal handler
476672333 Fix logging of AsyncSocket connection failed exceptions
9a5fc814b use to_ascii_decimal in FOLLY_SAFE_CHECK
32d058416 Fix CO_ASSERT_EQ for new gtest version
8477e2560 Explicitly qualify atomic_wait and atomic_notify function calls
89a3d4a78 to_ascii, to_ascii_size
2f6126e69 Executor::invokeCatchingExns
688c8aaaf Update include categories in clang-format canary
dff3d40c4 InlineLikeExecutor
0bdb2b674 no need to test for __has_include
b1ab506cc Add AsyncSocket::UniquePtr ctor coro::Socket
696d65f70 Define S_IRXO, S_ISREG in SysStat.h
33b99b774 folly::coro::makeUnorderedAsyncGeneratorFromAwaitable[Try]Range
e5ea61d18 mod all folly::try_and_catch<std::exception>
70d84dd86 Use #if FOLLY_HAVE_SO_TIMESTAMPING
694a416e7 Ensure that Function is noexcept-destructible
94465a38d try_and_catch with no type list
2b8facde9 Don't discard tasks from executor when draining FiberManager
579e7cb21 Add indent size for json pretty printing
2690cff71 revise demangle
3fdabf985 define NAME_MAX for Windows
4c227db0f fix the definition of FOLLY_HAS_STRING_VIEW on Windows
618db6a4a Workaround for a clang -Wreorder issue
63c11c4e5 DynamicBoundedQueue: Round threshold up to avoid threshold 0
626e5cafa Suppress unused parameter warnings on macos
a86f7668c Suppress deprecation warnings on Apple platforms
125937395 Patch AsyncStackTest.MixedStackWalk to work with the new <coroutine> header
64d8f3fdc Fix incorrect purging in MemoryIdler
e37262d4d dynamic constructor from anything String-like
e80c094b0 Drop support for zstd versions < 1.4.0
c1406faeb Add gdb script to print async stack trace
ffd51f403 Make Coroutine.h compatible with libstdc++
30ba5616c let blocking_wait be insusceptible to ADL
021774956 Use coro::* instead of std::experimental::*
6aa5e27b5 disable --allow-system-packages for generate-github-actions
0ee7dfe1b protect executor callback destruction
204ae3a68 Use ExecutionObserver in EventBase to monitor function not executed EventBaseAtomicNotificationQueueby in EventBase
842ecea53 ByteEvent (socket timestamp) foundation
220215e9b netops::Dispatcher
8ea0a28bd Track rawBytesWritten
4c2bc9285 Unify socket message generation, sendSocketMessage
bb168bd82 move ready_awaitable, variant_awaitable to coroutine header
4e249e082 Deprecate folly::format
2e670e0a6 rename co_invoke_type to co_invoke_fn
da20bc446 no coroutine_traits
27eb45f08 access::begin, access::end
0f3b490b6 let container-access interface be function-objects
821a5fee2 Add FOLLY_PORT_WIN32_OPEN_BINARY define
9dae32dee reexport remaining coroutine names
99a218de8 cut accidental glog dep in FsUtil
a990998a4 Fix forward_like rvalue->lvalue check
38aaf9e0f cut catch-all exceptionStr overload
a327ee8c8 Make OpenSSLSession refcount updates part of the critical section
f0c238dbf fix use-after-scope problems in BoundedAsyncPipeTest
39dba3a0c Make AsyncStackRoot::getTopFrame() const
85b285332 let co_invoke be defined in terms of tag_invoke
b58b2ce05 Daily `arc lint --take CLANGFORMAT`
c76b89b60 Stub out sockets API for xros
54b8e62e4 guard coro code consistently
c3d71b547 avoid Most Vexing Parse by using static_cast
924307b48 folly: allow demangling very large symbols
72704183b Clean-up-options
3c64279a5 Back out "Switch SerialExecutor to default to the immutable global executor"
d2e690a6d moving CoroSocket to folly/experimental/coro
be76ab69c Make `executable_path()` work on apple platforms
b81161081 move order_preserving_reinsertion_view
186ce88c8 upgrade katran's libbpf dependency to 0.3
1e8decf56 IoUringBackend benchmarks
0e34d328c no need to overload return_value
261d05ebb Fix EventBaseLocal destruction
941f70208 Workaround MSVC 2019.8 bug with ranges::enable_view by including the definition
a50bffdaa fix get_underlying constexpr-specification mismatch
b4a6fc01c use std::filesystem in File tests
54bd7398e fix folly::fs::lexically_normal
9c47cb9c8 Prefer to nest helper functions in coro tests
4f5128bb1 work around miscompile in parallel-map test
f4f3b9c20 fix casing of check_cxx_compiler_flag
a3c7ccef9 tweak try_and_catch test for windows
9e8bcdc84 FiberManager's shutdown only waits for remote tasks to drain
830810d14 revise EventBaseLocal interface
5a74908ec changing AsyncServerSocket::acceptError to receive exception_wrapper
a9fdc51df Make ExecutorLoopController cancel local callback in destructor
22e61b3f5 filesystem portability header
621b5b0b6 Fix memory ordering for EventBase::isRunning().
87d9f1daf Reset contexts when returning to pool
7dd7df55c Surrender the ZSTD_{C,D}Ctx on (de)compression end
bdd1109c8 mark type_info_of param as [[maybe_unused]]
77f0c0d9d let [[maybe_unused]] wrapper support msvc
36eb535c5 in uncaught_exceptions, if windows, assume c++17
36dbf0024 Fix ASAN violations when shutting down FiberManager from python
1d97d5b60 ensure all lang tests are in the cmake build
ee8381737 Use nullptr not 0 for fallback in cpp demangle code
0effaa946 cut log lines in uncaught_exceptions test
646b99986 getdeps show-build-dir
cb2d12ebd cut std::hash specialization for int128
fbba2051d no fancy macros in the enumerate tests
04d6ac762 cut EventBaseLocal::emplace overload taking pointer
0f4db9c70 Switch SerialExecutor to default to the immutable global executor
f45ed0ab9 let File tests not use /etc/hosts
993de5792 Let some utility functions be invocable objects
57b8506eb Remove seperate logic for first value in histogram
38c1a117f no shared_ptr in EventBaseLocal
619ff1d1a thunk
fe3cce9b6 define FOLLY_CPLUSPLUS
af1bcd175 Move REGISTER_TYPED_TEST_CASE_P to cpp from h
ee8564749 Avoid static init crash when compiling with clang 9.0
f604b03c5 add unique ptr type for X509_PUBKEY
6f7d8f37b Adding SSL option setting to AsyncSSLSocket test client
aa8c3c8f1 allow specifying multiple CPUs in io_uring SQ_POLL mode.
12066f6a6 Lower max submit so the test will not fail with EINVAL when SQ size is > CQ size
a6b3089ae add unique ptr types for X509_SIG and X509_ALGOR
40b160ef7 add missing co-invoke to async-generator safe-point test
229610b6b Fix CO_TEST_F to use updated googletest API
af8e836f9 Bounded version of AsyncPipe
02c80c5da Add io_uring SQ/CQ poll tests
3a5deaca7 Remove BaseFormatter::fbstr()
1486429bf let EventBaseLocal::getOrCreateFn function return value
029aff282 Replace folly::writeTo with fmt::print
af3fd11ee docs/Synchronized.md spelling (#1523)
49926b98f erased_unique_ptr
1e63a88c8 Add IoUringBackend support for openat, openat2, close, fallocate
e032bce6f Enable AllowAllParametersOfDeclarationOnNextLine in canary
89d16506e ninja: upgrade and build from source on macOS
5d1f7e5fd CancellationToken::merge()
de428b410 fix folly/lang/ExceptionTest.cpp under libc++
94e80675b Lower min capacity so the test succeeds when ulimit -l has a lower value
e69ea26bb Remove deprecated formatting functions
74c66ce23 openssl: update to 1.1.1i
56effb5a9 reexport coroutine_handle
ce0961de6 add XLOGF_EVERY_MS helper
1ff8690a6 Disable late-registration errors in Relaxed mode
1ff074e1c EventBaseLocal::emplace returns reference to newly created object
f310f66e8 DCHECK for nullptrs in EventBaseLocal setter and factory getter
e237e691c preprocessor: increase max arguments of FOLLY_PP_FOR_EACH
737e61440 Add support for io_uring min capacity
7e4c8713e XLOG_FIRST_N
4eaba962f Remove FOLLY_UNLIKELY from IoUringBackend::eb_event_base_loop
317e87537 reexport suspend_always, suspend_never
cc15e5788 rely on C++17 syntactic copy elision in DelayedInit
b93c8daa9 move and revise fmt/compile.h portability
4ab511012 let coro headers always be buildable
f133aef54 python event loop consumes one task at a time from C++ notification queue
d8ecccadb tweaks to DelayedInit
b9cc811a0 ConcurrentHashMap: Catch use-after-destruction user bugs
88ee330d3 RFC: Add direct support for relative benchmarking to the folly/Benchmark library.
d6d84f349 Use compact_once_flag in DelayedInit only if size can be reduced
eb1954c77 Back out "Fix definition of folly::remainder for android"
ca1e1523d folly: Backout changes to folly::DelayedInit and pass in a reference via folly::ConcurrentLazy
57c897d31 Fix definition of folly::remainder for android
8f284aae9 Add usage description to BenchmarkCompare
229a0c46d coro safe_point
bdbdd4b3f use LOG_FIRST_N in MemoryIdler
536086dc8 Delay registration of the timer and signal fds until running the loop first time
205499539 upgrade oss sai to 1.7.0
407bd3d01 Revert D26163397: python event loop consumes one task at a time from C++ notification queue
7c9f69f9c python event loop consumes one task at a time from C++ notification queue
19a842075 Add conversion from const folly::Optional to std::optional
339e7e6dc Change folly TSAN guard to only suppress read/write, not sync.
0af2ca9e8 folly: add folly::concurrent_lazy: a thread-safe version of folly::lazy
c3b63c09a Fix broken build
cbb8cd2aa Privately expose DefaultCPUExecutor as a form of InlineExecutor
f60b081ab Fix MicroLock data storage when it is not word/half-word aligned
db4e040d4 Disable MSAN for MicroLock functions
6477caf17 Add ability to hint AsyncTransport to drop certificate
2a14eb882 skip unmodified keys in dynamic::merge_diff
141f44cba atomic_wait expects the old value, not the new one
65c551555 Fix bug in folly coro GtestHelpers
d141da433 Add getdeps.py manifest
c21a0011d Fix flakey test
3aa8f2751 substitute surrogates in log file (#8076)
e8955d387 Stop trying to build on Darwin, Windows
1ab6a01f7 Use compact_once_flag for DelayedInit
6808ac5ab Refactor MicroLock and remove its slots
3c764a2d6 Fix typo about MutableStringPiece.
0fd2fc2fa Fix comment explaining how to use thenValue/thenError.
88382fbfe compact_once_flag
4731bb0c3 always write log files as UTF-8 to avoid cp1252 encoding errors
3fb7ce4fa fix assembly interrupt instruction for ARM/AARCH
bf66d6275 co-routine interface
448228ba2 Fix compilation error folly/concurrency/test/AtomicSharedPtrTest.cpp (#1464)
c635d5eeb folly: symbolizer: add minimal folly-addr2line tool -- intented for validation tests/debugging, not as a full-featured replacement for addr2line
8144bc197 Use std::atomic<bool> instead of folly::once_flag in folly::detail::MemoryIdler
bf83c8d2c folly: accept argument to `try_emplace_with` with moveable value
94ddf6eac Workaround broken constexpr in MSVC
bc7bad106 Disable compiled format for GCC 8 & below
e3400d871 Retry bistro tests up to 5 times
5b44809e4 Guard call to weak __asan_region_is_poisoned properly
66f614d72 Reduce binary size via format string compilation
7ba43ce31 update to libbpf-0.3 in getdeps
9c9f1d2db update EXPECT_THROW_RE() to accept the pattern as a string_view
59b47473b Handle values different from pending_
3fa09cb1c fix inline asm syntax on MSVC
f184a28f2 Add protobuf manifest
266ecae74 Add lzo manifest
bc4e31a8e Fix bug with calling addTaskEager from another FiberManager
194b7732b Simplify ThreadedExecutor
6a6ea7ca1 Handle task exceptions in ThreadedExecutor
118e91413 move folly gdb pretty printers to OSS repo
63154657d Migrate bistro to getdeps
3d7f331cf Allow using unused MicroLock slots as data
9d8cc9184 Fix wrong method name in DelayedInit documentation
25ce99fc4 Add support for `extra_cmake_defines`
6bc74fbd0 Fix eagerness bug in FOLLY_CREATE_STATIC_MEMBER_INVOKER
69ab6ff9a Use DelayedInit for SimpleObservable
56d1379cf DelayedInit
5295ccef6 Migrate from Folly Format to fmt
997284755 Add a caching utility for mallctl
325e3951b Fix include order and grouping in folly - 12/13
8df00ddc7 Fix race condition in loop destruction
a74807f5b Rename Try::throwIfFailed -> throwUnlessValue
8d485aeb3 tweak is_coroutine_handle detail trait
f07bb93a7 Fix Timekeeper.executor test
12bcb6a9c Fix typo
4dab09481 Apply clang-format update fixes
d22ff006d ConcurrentHashMap: Add reserve test
ed6fa93cc ConcurrentHashMap: Rehash only when expanding
3c135dba5 Fix include order and grouping in folly - 8/13
a3de19bed Add support for io_uring
06f9ac302 Tiny fix for folly::Random::secureOneIn(0) case
f3daf133c Enable DFATAL on use-after-fork by default
8cf67ca04 let FunctionRef detect empty-callable
d973a73e8 Mitigate lock contention in BlockingWaitExecutor
1be254ba5 Fix header filename in Overview (#1459)
0ba2ee1fb fix a crash in AsyncSignalHandler destruction
99330de11 restrict FOLLY_HAVE_WEAK_SYMBOLS
9e3e7456b Only observe lag on tasks with Thrift's folly::RequestContext attached to it.
add97bf43 add kHasWeakSymbols
ea46f07ed Remove bad CertificateIdentityVerifier test.
0ab97552c Fix SSL tests due to verifier behavior changes in OpenSSL 1.1.1i
6aa911b47 Fix build failure in SSLContextRegressionTest
bc7d7abf3 folly: symbolizer: check if findSubProgramDieForAddress found the DW_TAG_subprogram for address & terminate DFS early
5a9b1bb02 Convert implicit cast from `long` to `double` to a `static_cast`
8f2210a51 folly::symbolizer: drop templated FrameArray from test functions and move test functions to separate compilation unit with minimal dependencies
731276a4e Set default minimum TLS version in SSLContext to TLS 1.2
17468b65b Adding logs to connect error/success
f07f33e52 add priorities support to thread manager executor adapter
5398ad145 allow callbacks to be set and called on updates
a7c84c391 Exend XLOG_EVERY_N use
e127df07f Fix OSS build - move struct/enums into their own namespace
0cc9b77ff Explicitly name hazptr thread pool (#1512)
2e1e68b35 Increase the timeout value to avoid false positives
c7166a677 Initialize the context first to skip the tests if the backend is not available
910b75202 Skip the tests is the backend is not available
fbee4dec1 Try to allocate all the EventBase instances first before running the test
a1251f065 let AsyncPipe::create return the correct type
33df23f40 Include <optional> where required
184d54bb3 Add co_current_async_stack_trace awaitable
7a2b83b4d AsyncSocket facility to read ancillary data
a20009751 Include used headerrs in AtomicSharedPtrCounted.h
c4b6d52e4 Fix include order and grouping in folly - 2/13
483f9bc60 Fix include order and grouping in folly - 6/13
36acaed44 Fix include order and grouping in folly - 11/13
d99290f53 Fix gso typo
0c47744a2 add co_cancelled
590d43491 Fix nullptr dereference
69bbfc4b7 Replace after-fork-use DFATAL with ERROR
e124ab8e2 fix Arena bytes-used accounting across merge
37f3868a4 rename coro Error.h to Result.h
4c2177f50 fix Arena bytes-used accounting across clear
c55c0192e Detect singletons that are created in parent process and used in child process
e45e8964e Forced watchman daemon to always operate in non elevated mode on Windows (#878)
ea0cdfe1e Cut FOLLY_HAVE_MEMRCHR
79dc5c64c Remove folly::observer::waitForAllUpdates
9cc99a5ca Daily `arc lint --take CLANGFORMAT`
78fe8913b fix Arena total-size accounting across clear
2d871f2fb Use portability/GTest.h
e4eb39f3f Match DoubleRadixSort test name to file name
bc8c42bb1 use throw_exception in Arena
e6955f4dc asan_region_is_poisoned
59fe375d8 Fix include order and grouping in folly - 7/13
4cc7f8929 Fix QUIC OSS build
e01b9f041 Include portability/SysTypes.h for ssize_t
47de1a56a Remove dependence on common for a test
d7c40bc10 Fix race conditions on shutdown of MeteredExecutor
ed4b5a773 Add opt-out switch for TLS 1.3 in SSLContext
20f47e6c4 Template get_optional on Optional type
2a41f3f09 use comparison expectations in Arena test
376557bbe Fix include order and grouping in folly - 10/13
5a51004b8 Remove vim edit modes from the 4 files that have them
f8dbfec63 hazptr: Reduce noisy logging
8b6ee86f2 Rename a couple of tests for consistency
cb2bf7c92 Revert D25549986: De-template Range comparison operators
b9f9aeb5b folly::AsyncSocket: propagate finishFail ex
95e08d42f AsyncUDPSocket: multi release pacing for UDP GSO
9a83e4242 De-template Range comparison operators
acef4a644 Enabling FOLLY_HAVE_LIBUNWIND if libunwind is available (#1501)
2b32e9c1a metered scheduling executor adapter
90f04fa19 make IOBuf.__iter__ yield Python builtin memoryview
b14337010 folly | benchmark | Add support to run benchmarks and get a list of results for custom printing.
ffc3227f6 Replace old AsyncSSLSocket session API with V2
0cb5aa0f0 Expose folly::observer::waitForAllUpdates as public API
e8aa07ffd Add co_result support to AsyncGenerator
41f4344c1 Python error handling
ab42eb8fb Extend AsyncPipe with SingleProducer template parameter.
7da96e996 Fix include order and grouping in folly - 13/13
f0bada9d2 Fix mutex lock issue at the end of tsan test
66d50da28 Make folly::small_vector friendly to compiler optimizations
f1c0c3c18 Use SharedMutex instead of MicroLock in AtomicObserver
5e2a41e96 use folly::void_t instead of std::void_t
c5d7abd5f Allow Consumer of AtomicNotificationQueue to manage folly::RequestContext
ebb18e1ef Simplify getFiberManager
33a423535 Support multiple inputs to ShallowCopyScopeGuard
7d9dbc592 Change AsyncSocket::UniquePtr destructor to ReleasableDestuctor
a484d190d Make SimpleObservable<T> default-constructible if T is default-constructible
2e2148678 Make SimpleObservable::getObserver const
ccc65a2e3 Allow AsyncServerSocket::setQueueTimeout to accept an Observer
2e32138da Use thread_local instead of FOLLY_TLS in folly::observer
2ae32be7e Add AtomicObserver<T>
483806675 Add the ability to turn on non-DHE resumption for clients in TLS 1.3
3a1cb2bcb split AtomicNotificationQueue into pure queue and event base driven queue
f8c8b74f0 Add conversions between folly and std optional
a247041e1 Add ability to set TLS 1.3 ciphersuites in SSLContext
9a1bfc693 Avoid using std::enable_shared_from_this on older stdlibs that don't support weak_from_this()
175f274c4 Make retrying always return a SemiFuture
1e90876ea GitHub Action: fix Windows build
5db8c1751 Change Task::semi() to capture callsite of semi() in detached_task stack-trace
cd39f451c IoUringBackend rework
8da5b7595 folly::ConcurrentHashMap::reserve() - avoid setting count to 0
cea6de83d heterogeneous mutations for ConcurrentHashMap
47a169a1f heterogeneous lookup for ConcurrentHashMap
20006c601 Move test/SSLUtil into its own translation unit
bf3b5e1e0 rcu: narrow some variable to avoid warnings
90f2b4991 Introduce CO_ASSERT macros to folly::coro
ae03ef838 folly: utf8ToCodePoint: enforce max valid code point is U+10FFFF - return U+FFFD / throw for well-formed UTF-8 encoded values that are larger than the max code point
67f20f292 Fix typo 'exmaple' -> 'example'
4c2692fac Improve string to 32-bit float conversion near numeric limits
5a2072f6f Fix the WriteOptions gso default value - it should be disabled
ea2cb28ef keep asynchronous tasks on the intended thread pool - part I (executors)
f7c361669 Add folly::observer::makeStaticObserver
5af342477 Get point-in-time TDigest snapshot from BasicQuantileStat
755145b64 SingleWriterFixedHashMap: Clean up tombstones when copying from a full map
1213fc188 Debug checks for catching use of empty coro::Task<>
85e4e4398 Support non-copyable types in folly::coro::timed_wait
15de336d8 @build-break revert D23279680 & D23349316
38e819bc3 heterogeneous mutations for ConcurrentHashMap
89ad85e1e heterogeneous lookup for ConcurrentHashMap
7dcf1524c Fix Folly to build with current MSVC (#1450)
650dde9a6 Use half of available CPUs
1104513cf Fix typo in comments for LoopController (#1489)
a5e2a703c Adding yaml-cpp fboss code for oss
f76b18643 Adding yaml-cpp in fboss oss build
d5f68ec94 Don't include local IP in AsyncSocketException message for mobile builds
9ca584bee Assert AsyncSocketException message in WritePipeError test
d0430b3e9 EliasFano: fix an arithmetic error for ValueType=uint64_t and SkipValueType=uint32_t.
1d8a04457 Add async-stack support to co_awaitTry()
0249f352c Improve stack-tracing for tasks launched by the merge() internals
d35391f4a Add support for async-stacks to blockingWait()
cf7fad82a Update AsyncScope so that the first frame's return-address is the .add() callsite
2e9437e41 Hook up collectAll() algorithms to propagate async stack chains
036fea855 Add support for async stacks to co_reschedule_on_current_executor
e8eb07199 Add support for saving/restoring async stack frames to default co_viaIfAsync() implementation
beb3e640f Add async stack-trace support to DetachedInlineTask
155f5afae Add async stack support to AsyncGenerator
892c0c315 Add support for async stack-traces to Barrier/BarrierTask
70852ff33 Add support for async stack traces to folly::coro::Task coroutines
2c41d995e convert a path to valid glob syntax when prefetching
9ba2c4c68 Update epollop layout to match OSS libevent
3239f3c4a Fix a double delete issue
8659ee3f6 Check for MinGW
7e06aa207 small refactor of AtomicNotificationQueue, move Node out of Queue
ff2ecd364 Fix folly/io/async/test:async_test - AsyncSocketTest.ConnectionExpiry
04eafeb6f Add API to AsyncServerSocket that allows potentially stale connections to be dropped
d366ea8fa Allow AtomicNotificationQueue consumers to discard dequeued tasks
9f87fdb81 Add an API to set signature algorithms in string form
cc1be4cec Fix build when liburing is installed (#1487)
660d9244c Subprocess now does not require child processes to be reaped before destruction
da355ecdd Instrument time spent by fiber in running state and log it for SR eventbase threads
ceee59a70 Migrate AsyncServerSocket to use AtomicNotificationQueue
dcddc5c0d Add ability to bound AtomicNotificationQueue size
e5bb59b39 Add retryingUnsafe
cfa6e9c67 add shared library support to add_fbthrift_cpp_library
d4340c0a8 add zlib as an explicit dependency for getdeps build
14ff318b0 apply pyfmt with usort to opted-in sources
bfe27697d proxygen: fix shared libs build
6cd0c17db also install executor.h
d3489f9e8 Allow recycling of std::unique_ptr<IOBuf>
4087512fb fix Python binding installation
477a4c231 exception_wrapper::handle should accommodate noexcept lambdas in C++17
11440055b Add Decider argument to retryN and retryWithExponentialBackoff
9939b3761 Fix missing #include <limits> (#1482)
896bf5c20 fix unit-test timeout by reducing iteration
3e5545536 skip unit-test properly
7ddffe807 Add an option to specify lfs path
a60982596 fix tsan unit-test failure by reducing iteration
1540c39cd Record owner gettid() if TrackThreadId is enabled
dd4c59a93 Move retrying parameter to match old behaviour
b519e71b0 rust-shed/futures_01_ext: rename futures_ext to futures_01_ext
079cd3cc3 getdeps: don't depend on git fetch depth any longer
8dfce3ec7 Make coro::sleep throw when cancelled
244b6f44a Fix tsan warning in AsyncUDPSocket test
aaf2076d8 Fix OSS build
74ed883e8 Fix discovery of `libsodium`
6bb79f515 Use ::new and std::addressof in Try
120fb0fdb Add mmap safety check to the elf file parser
cda620cbc fix gnu_debuglink_test during parallel test execution
7feb2d379 Add virtual destructor to SequencedExecutor
2834b6e45 Rm std::unique_ptr null-deleter test case
98625fc81 Fix heap use after free test issue
abeb13b70 Add mocks for bytes buffered getters.
c7245ac0d Disable an exception-throw stress test for DistributedMutex under TSAN
e5676873a Fix co_awaitTry() with Task::scheduleOn()
31bd58d89 Fix async socket test (stack-use-after-scope)
c3fe90d83 Avoid dereferencing a nullptr socket_
bd529c4cc Allow disabling of IPV6_ONLY for AsyncUDPSocket
505affdcf Add support for co_awaitTry(task.scheduleOn())
018a9487a Template AtomicNotificationQueue by Task and Consumer
2109302cb AsyncUDPSocket zerocopy support
93ee34108 EliasFano: fix an edge case in the conditional check during encoding.
ae7f09e39 update the README build status badges to point to Github Actions
f63a5c316 Don't access evb_ in AtomicNotificationQueue::size()
cb0fc3dc7 Add pause/resumeAcceptingNew
25fe3ce3d Avoid duplicate code for UDP CMSG processing
2d0d7cb61 Simplify logic for popping the current AsyncStackFrame
11de2a3f6 Remove workaround for TSAN symmetric-transfer bug
0c20854fe Rename `FutureAwaitable` to `FutureAwaiter`.
063ef0c0d Add missing custom-allocation routine for InlineTaskDetached
e90879cf9 Change the way getDetachedRootAsyncStackFrame() calculates the address of detached_task()
23e90e57a Fix test failure introduced by D24505812
59277b687 Fix some dangling reference bugs in folly::coro::Task tests
f9a8116a6 Fix HTML document titles
fa7945b11 Fix int overflow when using PoissonDistribution with FunctionScheduler
26582c2b3 Back out "Workaround a wasm dependency issue"
5cdac587f Use static_cast instead of function-style cast in ConstexprMath.h
41a9dc8f7 Workaround a wasm dependency issue
af8630489 Workaround compiler error with gcc version 5 &6
05786142e Make AtomicNotificationQueue::size() TSAN-clean
5fd7f424f FindGlog: Add support for 'glogd' Debug library (#1479)
1592db4a5 Use alignas(folly::cacheline_align_v) to improve NotificationQueue perf
a876ba8b5 Minor AtomicNotificationQueue cleanup
a7c4b5ba0 Use AtomicNotificationQueue in EventBase
6d95d30f4 Add a StringPiece formatter
35b4d7594 clean up unnecessary c++ extern imports
99f8dcdd8 Invoke life cycle observer callbacks during event base attach and
d5d78479d Implement ReadMostlyTLObserver
31563f4cd constructor benchmark
50e9d1bb8 AtomicNotificationQueue
eaee7b4ba encode PACKAGE_VERSION in libfolly.pc
298b697f6 Fix EventBase death tests
f817aff73 folly: set shared libraries version
3b1bdb98c folly: always enable PIE in shared libs build
c20d1a930 folly: fix permissions on a couple of files
a55fdc39a `FOLLY_MAYBE_UNUSED` does not work on Windows
9ffd62858 to_shared_ptr_aliasing
039b4056b Update folly::fibers to preserve thread_local AsyncStackRoot
c663849fe Fix UndefinedBehaviorSanitizer error in `retryingPolicyCappedJitteredExponentialBackoff`
d1015a0b0 Remove FOLLY_HAVE_MSG_ERRQUEUE check
81e350e10 Use assert() instead of DCHECK
a07ea58a2 AsyncUDPSocket: use actual controllen size instead of max
1d8b0ebc8 rust/shed/hostname: rename hostname dependency to unbreak doctests (#15)
6cc4b27d6 Daily `arc lint --take CLANGFORMAT`
430aa0d8d Add `midpoint()` calculation to folly
9db54edd8 logging: fix prefix stripping on Windows
308bab0ea Relax the stack trace limit for opt mode too.
2b5dedea1 HazptrDomain: fix MSVC truncation warning
3f6324dee mononoke/integration: create a Makefile to run tests as part of getdeps.py build (#67)
b26907eac Improve documentation comments on EventBaseManager
53947e049 Use the new name for await in the fibers test
0deef031c Move clang-format-next changes into clang-format-canary
3fa19ab25 Migrate AsyncSSLSocketTest to V2 Session API
08ee18c5b Fix livelock in AtForkTest when running under TSAN.
068d3f6e8 Fix is_constexpr_default_constructible under clang-10
7c4ac999d TSAN fix for folly/io/test:shutdown_socket_set_test
af60f10a4 Reduce io_uring test mem requirements
fbfab7ffa Unwrap Observer in SimpleObservable cache
2bf4a236d ConcurrentHashMap: Remove comment about potential bottleneck under heavy removal
68c04406e apply black 20.8b1 formatting update
7cc28784d Relax the limits for StackTraceSizeLimitTest.
98014f8bd Cut linter suppression in TryTest.cpp
3f1e1ee8c Move folly binary
ef6f75734 Conserve resource for IoUringBackendTest to avoid rlimit issue
bf475c743 CoReturn can return implicitly convertible values
22ed347d0 mononoke/integration tests: prepare dependencies for running tests by getdeps
8eba7be7e Fix Core::hasCallback to return true for State::Empty
1902d0ffb Add support for UDP RX timestamps
343a70ae0 `lint-ignore` processing for `clang-tidy` (xplat)
4f9a125a6 `lint-ignore` processing for `clang-tidy` (fbcode addons) (#1472)
d15d9f555 Allow folly fibers to compile with windows asan
b984cc9db Make ThreadCachedInts TSAN-friendly.
bb70495bd Add weakDetachOnGlobalCPUExecutorAfter
b0e23aef4 hazptr_domain: Add tagged list sharding
617884812 Revert D24046011: `lint-ignore` processing for `clang-tidy` (fbcode addons)
921800d67 Daily `arc lint --take CLANGFORMAT`
99dbd7aae `lint-ignore` processing for `clang-tidy` (fbcode addons)
ad46f3819 Fix SSLCertificateIdentityVerifierTest for OpenSSL 1.1.1h
c03ff6238 Add data-structures for representing async stack-traces
59aad4e9d Use a beta version of libbpf to unblock perf_buffer__buffer API
891965f55 Add support for structured binding to folly::enumerate
4d4500030 fix raciness in AsyncBase::submit
678a8567a Fix for a zerocopy AsyncSocket issue
e3933c882 Use latest libbpf
d6ed060ef Add flags to set the io_uring mlock rlimit
9151f52ba fix SimpleAsyncIO build for fboss.
2a60d871d add missing include to fix build failure
06abeada4 Support ConcurrentHashMap When Exceptions are Disabled
7a473ac65 Backport more of is_detected
6e905224d Fix a small bug in IoUringBackendTest
16d1d55c5 enable FOLLY_USE_SYMBOLIZER on all non-Windows builds
9773cb4a5 Add API for setting OpenSSL sessions in AsyncSSLSocket
aa990652c Migrate to new SSLSession API in NetworkObserverSessionInfoCallback
97498b1a4 Remove --skip-project-specific flag
17f5cd91f Disable tests on windows
3e6b45276 hazptr: Move reclamation outside tagged list critical section
676fa1ed1 Fix find file 'Findfmt' (#1462)
648bc92b8 Don't pollute CMAKE_REQUIRED_* variable (#1463)
c668b2055 Add cplus_demangle_v3 wrapper to Demangle.cpp
42b8f101e Add simple wrapper for AsyncIO that hides all the grunge.
191192378 fix use before assignment case
45d402694 Add utility to make an observer with jittered updates
588857cbc Use separate b_, e_ range members
1fbecf3fb A few tweaks to SFINAE in Function
a34629ded undef signal_set in folly/portability/Event.h
6c4cef838 Do not attempt to use __rdtsc on non-x64/x86 MSVC targets (#1461)
a1ba5275e build zstd in static to avoid DLL dependency on Windows
b29f0eb3c hazptr_obj_cohort: Fix race condition
005bacc2e Fix typo in coments for SharedMutex
15906ea27 Add upcasting support
a52c2b203 mononoke/integration: build EdenSCM with non system OpenSSL (#12)
67b7c2ad5 Add support for SQ poll groups - this allows sharing of the same SQ kernel poll thread
d586f9f83 Skip deadlocking fork tests in TSAN mode
aeea73707 Add support for immediate SQ poll submit
0f0fe916b Make SymbolizerTest pass if compiled as PIE.
e653781c0 Suppress another TSAN false positive due to openssl not compiled with TSAN instrumentation.
1d2bff8db use backtrace(2) on all Apple platforms
8be3153ac Back out "Update folly's source of truth to xplat"
d8e10145f Fix the Apple LLVM version when disabling tests for Xcode 12
137a7249f Move common/gtest:gtest_coro to folly/experimental/coro
405149cfb Move not_null to folly
53874b388 Internally rename await in folly/fibers/
acf28118d use folly::Function for callback in async IO interface.
73d254b59 Fix some -Wdocumentation errors in folly
c28acad21 Rename private find member
8695aec82 Suppress is-constexpr-default-constructible test under Clang 10
15523d66f io: fix signed comparison warning
92fe72609 hazptr: Clarify warning about reclamation executor
09cfcf965 Fix Traits `folly::IsOneOf` document typo
c0938b8a4 enable symbolizer on any platform with backtrace(3)
d7736cff7 Allow changing the Sleeper sleep interval
0a1b471ed Return erased size in erase_if
cfd29074b Fix 1-byte heap overrun
ef52bd9a7 Fix builds on windows
39e096168 Unwrap Observer<Observer<T>>>
0e94731bb Check the value of `FOLLY_USE_JEMALLOC` instead of assuming defined
c43ba39cf only build exception_tracer on elf platforms with libdwarf
82d65ef5e Revise SFINAE in Padded
9b5966588 Avoid mallocs in IP6 address processing (#1447)
c37507e46 fix overflow in EF::UpperBitsReader::reposition
f8e418967 Cut old memrchr port in global namespace
fb5ce2d9a folly: import PushCheckState cmake module
c5d1c45f6 remove some FOLLY_USE_SYMBOLIZER checks
5c3b9d59a detect ucontext's swapcontext at build time
5c7de7b4b eden/edenapi and mononoke integration tests: add edenapi/tools to getdeps and use them in tests (#51)
50e8c130c NotificationQueue: Use folly::get_cached_pid() instead of getpid()
525612795 <bit> produces warnings when building with C++17/13/11/... (#1455)
a590a0e55 getdeps: update zstd to 1.4.5
dfed6248d Always enable fiber support in futures
bdd4cbe10 Add co_awaitTry() support to AsyncGenerator
3153b1b08 r-value qualify Future::getVia for consistency with other get operations
3a2cecf17 Add support for polling the io_uring submission/completion queues
802e8f7a0 Tweak partial to avoid macos build failure
7c35c2be9 portability: define uid_t and gid_t
383456d7d only install googletest 1.8 when building tests
841d5087e Cache python-import in getExecutor
3fdcf359f googletest 1.8.0
9f72af220 enable tests in getdeps
7bb0963b1 enable tests in getdeps
35cb65689 enable tests in getdeps
0e50cd036 fizz, mvfst, wangle, proxygen: add gmock as fbcode_build dependency
25e3fd32e Add a CertificateIdentityVerifier to AsyncSSLSocket
0666e8d52 fix exception_tracer build on macOS
cd60da45e release write buffer before calling write callback
3d5e59740 Introduce EventBase::Options
8f60f6338 add gtest version 1.8
72a5d49cd Enforce r-value use of Future::getVia
1d62441fe Add CoReturn and CoThrow to GmockHelpers.
b404e1598 enable FOLLY_USE_SYMBOLIZER on macOS
40eff3a72 Add `constexpr` to Portability for Apple OS targets
5f813e67c Some static-asserts in Executor::KeepAlive
f5744f58a Modify Future::getTryVia to be r-value qualified and destructive
ba3db8b9e Cut main from gen tests
61a00871f Allow symbolizer to fall back to getStackTraceSafe
90607a257 optimized helper for constructing aliasing std::weak_ptr
704c7ec4a Decay char-array and trivial args to throw_exception
ad37aadb3 byte
10ee4469c Include process.h in portability/Unistd.h
4bf029a28 Revise invoke and invocability traits
533d54f51 Tweaks to hash primitives
bfde457b0 Fix an unnecessary racy access in SingleWriterFixedHashMap on empty iterator
b172ccdfe Fix an atomic memory ordering in DefaultKeepAliveExecutor.
c26af9db8 Fix the reentrant_allocator loop
d5d33bcf2 remove older fbcode_builder_config.py file
0fa80a4d4 add a top-level build.sh to build folly via getdeps.py
b3521215b update fbcode_builder README to document getdeps.py
c9993790d Revert D23489967: Modify Future::getTryVia to be r-value qualified and destructive
7187a3af0 fix FindDoubleConversion.cmake to work properly
41b44bcf3 update FindGflags.cmake to work on CentOS 8.x (#1409)
2a41679be use FOLLY_HAVE_BACKTRACE to guard execinfo.h and usage of backtrace(3)
6e269d82e fix macOS build
65bb1505d Modify Future::getTryVia to be r-value qualified and destructive
fdc44f512 CMake: Fix version comparison for target argument (#1439)
046adb706 Use compilation unit as base address when no base address exists for range.
dcbe54215 Use AccessSpreader::cachedCurrent() in CoreCachedSharedPtr
04513e574 Add folly::get_cached_pid()
93b940f75 Add getTry back into folly::Future, with blocking behaviour consistent with get() and with SemiFuture::getTry().
faaf3a5d7 A few nits for constexpr_strlen, constexpr_strcmp
d6931011b Fix a simple race condition FutureDAGTest.
3427f219e Avoid VLA in DWARF symbolizer
ca5024eeb Add the ability to specify the min number of threads without changing a gflag
18fd6fc87 Add a note into constexpr_strcmp
809c56655 Include ostream in SymbolizedFrame
2a6bb4169 Fix StaticSingletonManager::create_<true>
fef268ac1 Limit StaticSingletonManager check functions
25878e4bb Let noexcept StaticSingletonManager::create be outline
1c1853629 Add missing < 0 tests for constexpr_strcmp
eaca25f69 Make is_same failures easier to diagnose in constexpr_strlen tests
7d52648fb Fix SSLSessionTest for TravisCI (Ubuntu)
0887fa5ee Some machine code check functions for terminate_with
322fdec24 Fix simple race conditions in FunctionSchedulerTest by using atomic.
7aae308fa Include portabilty/String.h for strndup and strcasecmp
340f7d541 use kIsDebug instead of NDEBUG in checkNullTerminated
08e261481 Avoid use of string functions in constexpr context when the compiler can't support that
2875e2905 Embed folly logo in README.md
bdd26db32 Add folly logo to repo.
c99481f54 Revise is_constexpr_default_constructible_v and is_constexpr_default_constructible
e1180516b add #pragma once to some header files that were missing them
832a93532 Check result against kBlockSize
5758ff24d Fix for compilation errors on a build without precompiled headers (#1438)
eedb340bd CMake: Handle generator expressions requiring a target for pkg-config (#1433)
9be796769 Fix possible UB in constexpr_strcmp
2948741d6 Don't rely on pthread_atfork when possible
f57cccc95 Cut FOLLY_CREATE_HAS_MEMBER_TYPE_TRAITS
ec658b161 Make SmallLocksTest pass under TSAN if halt_on_error=0.
81ee35a56 add re2 as cmake dependency
4a8a285df Simplify the fallback constexpr strlen, strcmp
ec9d37a57 Adjust stack limits for StackTraceSizeLimitTest for TSAN.
8b53f907f Skip a test in StackTraceTest under TSAN because it calls signal unsafe functions.
2044c0c65 Drop unit in folly::coro::toTask
659deb382 Add Timekeeper parameter to folly::coro::retryWithExponentialBackoff()
6b2d55ec4 Test constexpr_strlen, constexpr_strcmp fallbacks
3b18d4359 Cut FOLLY_CREATE_HAS_MEMBER_FN_TRAITS
d61f81cc3 Add folly::coro::makeTask
69f66b7e4 Fix atomic_shared_ptr tests
c5adaa592 Revise is_transparent_v and is_transparent
92a2a9b37 hazptr: Rename warning function
2d4d958fa is_detected
354e50d4f Add support for microsecond intervals in the function scheduler
16d639413 Add io_uring registered buffers support
6226f8a2c Revise is_instantiation_of_v and is_instantiation_of
8132af20c folly: doNotOptimizeAway + makeUnpredictable to their own library: folly/BenchmarkUtil.h
0dd60e57a Fix LoggerTest
bc8a9f69a return returncode correctly
b6d2974b1 Back out "Add support for microsecond intervals in the function scheduler"
041d632a4 Extend TSAN symmetric transfer bug workaround to use a thread-local counter
8dc2d39f8 stop using deprecated std::iterator
db7a54ac3 Add support for async range submit
135f82522 Workaround for TSAN symmetric transfer bug
687f3fe86 Switch from VLA to folly::small_vector
defe385bc Add support for microsecond intervals in the function scheduler
d2a3bb4fa Remove the guard around tag
28cc462f9 Make folly::coro::co_invoke work with folly::coro::Generator
4c6cb7361 Add folly::coro::AsyncScope::remaining()
9fdb0d52e Update OSS CMakeLists.txt to use CMAKE_CXX_STANDARD
8af2de838 Use C++ to check for mobile in IOBuf
90ab2b68e unconditionally build symbolizer sources even if FOLLY_USE_SYMBOLIZER is unset or the platform is non-ELF
6da515d7e Disable some slow StlVectorTest cases under TSAN.
adc391eaa Check for `preadv` and `pwritev` also on watchOS and tvOS
e56907dbd Define FOLLY_ELF_NATIVE_CLASS if not defined and __ELF_NATIVE_CLASS is available
85fd5147e typo in loopBody message
883bc164a Add compile support for platforms that define ElfW
1fe8bf768 Remove include of sorted_vector_types.h from Request.h
a5683e130 Add `std::variant` support for `folly::variant_match`.
e72f5c7bb Do not capture RCTX in HHWheelTimer's underlying AsyncTimeout
91a2c0c0d RequestContext: Remove read-lock-based implementation
1be2277a0 CMake: include FollyCompilerMSVC if the compiler is MSVC (#1421)
694c1cbcc Add deduction guide to co_result
c4c78b82f Do not call scheduleImmediateRead() if the EVB has changed
ad89a0175 refactor Enum code generation
1ceb5acbd Remove self-include
ecc740bac SAI API 1.6.3
c8972cd5d Re-port memrchr
190ff15c9 priority can be a negative int8_t
be66f73ca Minimize conditional compilation in AsyncUDPSocket
16a708482 Removed out-dated notes from `Futures.md`.
cad3b5cf3 Add github action to auto-release TagIt tags
cd9669afa Add option to run tests without Testpilot even when it's available
a6de480b5 Change AsyncPipe to accept an optional onClosed callback
5e4f665cd only use symbolizer if libunwind is found
c452ce038 Make task -> semiFuture -> task preserve void type
15dd0f0c7 Revert D22499183: refactor Enum code generation
efedce93f Require fbstring be used with std::allocator
63dc56157 Fix some -Wdocumentation errors
49b1f90bd Fix coro::UnboundedQueue::try_dequeue
481a93de2 Move DeterministicSchedule TLState to the source
0b3d9d21b Update folly's source of truth to xplat
243643560 refactor Enum code generation
72530db79 Remove wrong use of errno in AsyncUDPSocket
013b287cd Fix a race condition in the thread exit/join code in DeterministicSchedule.
8622363b0 Reimplement SignalSafeElfCache::Path
bc6736ac8 Cut an extra rdtsc in DistributedMutex spin
8cde5e001 Introduce FallbackSysArenaAllocator
56693404c flush stdout before starting a command while interactive
698754f35 Back out "Fix fiber backtraces in gdb"
e9ae08b83 reclaimbale -> reclaimable
621beb2e5 Fix TSAN-reported race in ShutdownSocketSet test
1aba91449 fix folly::fibers GDB extension for GCC 9
09a33a579 Eliminate lift_void_to_char
efe2962d5 fix forwarding for hinted insert_or_assign
cc16262f5 Back out "suggest race condition to users that trip F14's internal checks"
8b6502462 Fix an issue in ElfCache that makes it async-signal-unsafe.
4506ae371 Fix TSAN issues for //folly/io/async/test:async_test
73a35da0e Add blocking logging to fibers::Baton
e6d5beb44 fix a bad comment in folly/Poly.h
94cc2abe3 Simplify reentrant_allocator hierarchy
c7d609d4b Add exception_wrapper::from_exception_ptr taking by &&
ebc1ae685 Fix a previously introduced bug in ElfTests related to PIE and addresses.
38bbc80ed Avoid traversing the callbacks map twice when inserting a non-existing entry
23b4e99c5 Fix Singleton TSAN issue (mutex used after being destroyed)
440212012 Add missing header in WTCallback.h
51a732d74 better lag detector factory caching
abb4ece62 Avoid std::string with reentrant_allocator in ElfCache
b19f43062 fix buffer overrun
d60856363 Make //folly/tracing/test:static_tracepoint_test work if compiled as PIE.
4892f1bb1 Fix OpenSSLUtils::getCommonName to correctly trim trailing null characters
85a8672b3 make time based unit-test less flaky by waiting longer
f2d225e49 hazptr: Make cohort active_ data-race-free
0bf08a924 folly/README: Update the Fedora deps in the public README
30dcb7d88 Fix fiber backtraces in gdb
d03029134 Update zstd dev debian package
015949ec0 Fix an atomic memory ordering issue in SIMD version of the ConcurrentHashMap.
bdf5690a9 runcmd: do not pipe stdout on a tty
cbe8ef9dc Prefer std::condition_t vs preprocessor in AsyncSocket
ec55993dd Let exceptionStr peek into unknown exception types
dde950137 Add yield_value(Try<>) to coro::Task
5076d050e pre-allocate freeList
e0bd7f091 Make folly/experimental/symbolizer/test:elf_tests work if compiled as PIE.
45cd2ae54 Add the ability to set the event EventRecvmsgCallback
e7e80abf3 Add missing include in folly/ExceptionString.cpp
11018acbb Fix TSAN issues with FibersTest.
0cb1f60c7 Add option to build with ASAN on OSS build
09e27c743 remove unneeded spinlock
737ccb70f Fix atomic memory orderings in RelaxedConcurrencyPriorityQueue.
f711b660d Remove TSAN code that caused an assert
52264b665 split SymbolizePrinter into its own target
78f06465d split Symbolizer and SignalHandler into their own targets
1c320bc94 Fix a memory ordering issue in Baton::timedWaitThread.
55917d46c Add support for TimerFD async recv
8ca7ae74a Add API to disable UDP6 checksum
5d134e78b Attempt to fix a race condition around fiber stats
f893bb0a4 SAI API 1.5.2
b4e56febf Fix TSAN too-many-threads error for //folly/test:concurrent_skip_list_test.
73494e3e7 Simplify reinsert policy interface
ab8339eab Fix TSAN crash for RetryingTest.
c5cff9366 Avoid std::forward in folly/futures/
28da027e1 suggest race condition to users that trip F14's internal checks
2fb430a3c Attempt to fix a race condition in ThreadLocal related to ThreadEntryNode.
eb493d16f Fix race condition in //folly/test:synchronized_test due to sharing RNG on multiple threads.
ca49b1fe4 Fix a TSAN-detected race condition in TLRefCount.
030a288b5 periodic timers should not cause leaking of folly::RequestContext
0b2e2a2d6 -update-app-bytes-written-correctly
2ee7489b6 Don't append space delimiter when context string is empty.
f9f5da229 Fix self-assignment in folly::coro::AsyncPipe
10d69890b Add missing return in AsyncPipe move assignment operator
e050deab8 Move an exception_ptr in exceptionStr
0df06cbe2 Outline exceptionStr function bodies
ab1c217f7 Skip the safe-assert dep on FileUtil
b37af6c56 fix F14 fallback build for modules
ddcb6ea2e Drop support for boost below 1.61
afdcebcc2 Tweak safe-assert uses of wrapper functions
1c2dcb1dc adding CANCELED to AsyncSocketExceptionType
376d65549 introduce ConcurrentHashMap::erase_key_if
939211945 Allow a project to have Actions run on all branches
1e3603dfd Fix 1-byte buffer overrun
6958370bc Implement BatchSemaphore which is able to accept batch tokens
93cbddb85 Implement SemaphoreBase which is able to accept batch tokens
07d0effa9 Remove configparser deprecated method readfp
4eb1b2424 handle MSVC debug iterator tracking in F14 fallback
a055d9297 Saturation detector. Naming the queues. Diff 3/7
df19d44b1 fix accessing current rctx in `RequestData::onUnset` callbacks
bcfad25b0 Add new --disallow-system-packages flag to `generate-github-actions`
1b9405366 make JsonMockUtil.h compatible with latest googletest
c84aa29aa Move the ubuntu build script to 18.04
bb5c3cb9d set SDKROOT when it is not already set
060020e42 attempt to specify boost to build with clang - take 2
edec54f4d remove extern "C" (#1416)
8b09d1df0 Update libzmq manifest to use libzmq3-dev
a13deea59 Saturation detector. CPUThreadPoolExecutor integration. Diff 2/7
d34438536 Fix TSAN for FunctionSchedulerTest.
66e9c6581 Fix thread leak in //folly/portability/test:pthread_test.
ba3ee5d71 Add retryWhen(), retryN() and retryWithExponentialBackoff()
7daf90c7b fix link error on gcc 10
008f55389 Add folly::coro::timeout() algorithm
586a200df Saturation detector. Basic algorithm. Diff 1/7
bddd247e2 Fix `F14*Fallback.h` headers in modular builds
98eb49fad Fix missing headers exposed by modular builds
613428df9 Fix platform build error caused by lack of return
ccd77b854 Move makeAsyncTask test helpers inline into the test
6edefe203 detachOnCancel: fix shadow-uncaptured-local warning
88ff31c0f Basic detachOnCancel helper
27a0093e0 Add a missing forward in makeAsyncTask
85009b3f2 Pass rootId in SDT for shallow copied RCs
74e8af861 add heterogeneous lookup and eraseInto to fallback F14 sets
ce0007aa6 heterogeneous lookup for F14 map fallback
5d517eb77 Remove Future::getTry
2e45ff8dd Fix a TSAN-reported race condition in ThreadLocal.
6c21531d5 callWithExtractedKey fix for old libstdc++
67ed8482f A test for the atomic_ref deduction guide
e2b1569f2 Add clear() API to folly::Arena
fdcce5ae4 Mark invoker operator() as maybe-unused
eeb59fc3d Make sure EventBase task destructor runs with the correct RequestContext
e914b363f remediation of S205607
9e9976089 remediation of S205607
89bd17d8f FOLLY_KEEP for keeping function definitions
f50f791ef Add support for adding context string callback.
8c7b42432 Fix lifetime issue in coro::Materialize with active union member
238972c36 add Mononoke integration tests CI (#26)
0415fc2a8 remove pushmi from folly
9683c8dbf hazptr: Add warning for using default inline executor for asynchronous reclamation
6bc436a61 Back out "fix boost macOS build with new Xcode" (#27)
818b7ab56 folly | Bypass checking for system preadv and pwritev on iOS Simulator platform
104d728c5 Construct from existing raw pointer
5e4b2f87d Lifecycle observer
17df5922a Update WriteFlags::EOR and add timestamp flags
9b15adedb Fix EOR bug, always pass timestamp flags
7f1bda256 Drop guards on a few builtins under MSVC
eef55493a fix compile error
7ba6988b4 Use list::splice to move lru nodes
43d80f110 fix boost macOS build with new Xcode
3930a6ef4 teach getdeps to look for clang on macOS with xcrun in boost build
790557fb0 Fix documentation errors in Folly when building with Xcode 12
48866d263 make Executor::keepAlive(Acquire|Release) and KeepAlive move assign noexcept
2f0542e41 change AsyncSocket::newSocket to return a unique_ptr instead of shared_ptr
c19c06e5f Remove collectAnyUnsafe
6b01128d4 Optimize the storage of the interrupt handler
dceeeb92b Use the Rust toolchain via the DotSlash Windows shim
9fff036d5 Fix implicit conversion warnings in MemoryIdler.h
b1d264ed8 Help compiler understand that co_yield co_error() in a Task coroutine never returns
ed2cb6d2b replace the use of boost::variant with a simple union
e4df98ab1 Add detach helper to folly::SemiFuture for no executor detach
b99077fa5 Use sized deallocation in SysAllocator and Arena (2nd try)
e9a34c042 edenscm/hg: add GitHub Actions with CI for HG plus add fixes for getdeps (#25)
287dd830a Fix array length calculation in ConvTest.cpp
cbdf3df78 clang coro handling
2fa292ded Set SSLContext minimum version through SSL_CTX_set_min_proto_version for OpenSSL >= 1.1.0
bff1bb83c Fix race between setProxy() and setCallback()
1ad7426bb set max deferred readers for folly::SharedMutex dynamically
ca9225f86 Outline most of Core implementation
4981497ad Type-erase most of Core implementation
aac9d77f9 Fix jemalloc folly weak symbol issue
63cdc1c1d Extend findAddress to provide function parameter names
5ea745d48 Revert D22189916: Use sized deallocation in SysAllocator and Arena
0d2bdbf0e Use sized deallocation in SysAllocator and Arena
c2a5cc0f7 Replace loop with clear_and_dispose()
9b29fac97 IoUringBackend free mempool rework
eaf22e04b folly | Fix building folly's FileUtil.cpp in iOS 14 or macOS 11 SDK
e48698452 Outline some of Core.h guts
640586980 processSubmit rework
fb4af641e update GitHub actions
bf54ececf Turn await into a CPO
4d04d3d73 Add FOLLY_OPENSSL_PREREQ macro function
3e9186f17 create explicit instantiations for folly::Unit
9426d3025 add retry flag to getdeps test
f9dec0432 Add Task<void> specialization for taskWait
bd41a1ed7 Faster collectAll(args...)
183723310 avoid using relative path in fb_py_win_main
5b5359feb fix clang-format nits
fc6f6e434 IOBufQueue::moveAsValue()
63977f902 eden/scm: provide getdeps.py way of building eden/scm on GitHub
dabc98022 Revert D22211304: Eliminate need for reading upper bound at construction.
e739084eb Revert D22304614: Fix overflow in EliasFanoReader
d671caf26 Add io_uring support for fsync/fdatasync
597016703 make fb_py_win_main to dynamically find Python3.dll
0c4dd654e Remove rsocket-cpp dependency from OSS projects depending on fbthrift
c3e79e824 Small benchmark for coarse_steady_clock
cf3160954 Fix overflow in EliasFanoReader
77a38ddb3 Add addFiberRemote
6284a28ec Specify return type of async:: functions
067860168 support clang compiler
925ab3256 Add folly::coro::filter(AsyncGenerator)
c9c556423 Eliminate need for reading upper bound at construction.
01da43c28 Strictify async_inner_type
0ff36eaf6 folly: disable zero copy in AsyncSSLSocket to avoid memory leak
7e6a92c1d Async interface for addTaskRemoteFuture
5b8e05135 More io_uring file read/write tests
e678005ff Fix OpenNSA 6.5.19 hash as Brcm modified the tarball
0c27031c2 Move addFiberFuture from detail::
10dd9f4be Switch await into a callable object
b18832a6a Mark lambdas in addFiber(Future) mutable
df4606586 (folly/coro) using atomic_compare_exchange_weak_explicit in coro::Baton
8a3d5b9ce Make sure coroutine final_suspend() methods are declared noexcept
df45ceb83 Async Readme
aeb4ecf8f Simplify Arena destructor
4485ef0c2 FiberManager - executeOnFiber
ac28a0128 collectAllFibers and collectFibers
98759027f FiberManager - addFiber
7c81dc02c FiberManager - addFiberFuture and blockingWait
f8ca5b8fe fbcode_builder: getdeps: Update OpenNSA to 6.5.19
d0c01e875 mononoke/configerator structs: change the OSS folder where configerator structs are saved
3b8891d61 Make sure global CPU executor is never joined on an application thread
985fa6fa6 Revert D18662578: Eliminate need for reading upper bound at construction.
1e2463c72 Replace global AsyncSocketExceptions with lazy initialization functions
e559539b3 MasterPtr -> PrimaryPtr
42d5bf14c Eliminate need for reading upper bound at construction.
c289b7f56 Add folly::StrandExecutor type
59ce0d0d2 fbcode_builder: getdeps: OpenNSA update source URL
66e13083a fix encoding bug
f74b4d5fe Specialize F14Table default constructor to avoid reserve() instantiation
19c88ba5b GitHub Actions: fix running out of space on Ubuntu build workflow (#23)
2f7890eca Try to fix the OSS build
b974fa368 Missing public base class for unicode_error
b7eba90d5 Kill small skip optimization in EliasFanoReader
f1dd8b181 Better compiler hints in EliasFanoCoding
28fd04bda Avoid shared_ptr copy in EventBaseLocal::getOrCreate
d0b905b1d async::promiseWait
72e910699 Make RequestContext rootid value atomic in RequestContext::StaticContext.
7e9c16017 Fix typo about Executor (#1386)
e28861851 Remove `TIMED_SYNCHRONIZED(_CONST)` and replace its usage with `wlock`/`rlock` functions.
266c62dea Add a method to disable shutdown timer
29adc3046 Remove unused type alias
f6d0e2207 cargo_from_buck: add the patch section to Cargo workspace and allow workspace appending to existing manifest
f0471228b Default constructible folly::SysArenaAllocator
d72d1b57e Revert D22027490: Specialize F14Table default constructor to avoid reserve() instantiation
61a434e95 Only run Futex.clock_source test on Linux platforms
b77dcf05d Stop using atomic_thread_fence in SaturatingSemaphore
23cadde7a Back out "Resubmit: Allow using different symbolizer mode in signal handler."
1e22eb61e Create separate test file for async tests
56bdd8b3a Add missing include in folly/memory/ReentrantAllocator.h
792d3247e Resubmit: Allow using different symbolizer mode in signal handler.
8d4e8eded Specialize F14Table default constructor to avoid reserve() instantiation
248b90f6e Deduction guide for Async
641a5030b Async traits
d1f59dd5f Awaiting Coro
a7d768eec Awaiting futures
3b5ce36b4 re-enable lz4 compression for rocksdb on macOS and Linux
66dc0a6f4 Add folly::tag_invoke
6bdbdb6f7 add explicit cast for narrowing on 32-bit platforms
780050d97 Revert D21918702: Allow using different symbolizer mode in signal handler.
4bbd587ce Outline most of TimedDrivableExecutor implementation
8ae59d46e Allow using different symbolizer mode in signal handler.
55a91da85 Wrap _r_debug per platform
f75211c04 Stop using atomic_thread_fence in folly::Baton

git-subtree-dir: external/folly
git-subtree-split: c47d0c778950043cbbc6af7fde616e9aeaf054ca
parent 6ee4dd04
on:
push:
tags:
# Only match TagIt tags, which always start with this prefix
- 'v20*'
name: TagIt
jobs:
build:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Archive project
id: archive_project
run: |
FILE_NAME=${GITHUB_REPOSITORY#*/}-${GITHUB_REF##*/}
git archive ${{ github.ref }} -o ${FILE_NAME}.zip
git archive ${{ github.ref }} -o ${FILE_NAME}.tar.gz
echo "::set-output name=file_name::${FILE_NAME}"
- name: Compute digests
id: compute_digests
run: |
echo "::set-output name=tgz_256::$(openssl dgst -sha256 ${{ steps.archive_project.outputs.file_name }}.tar.gz)"
echo "::set-output name=tgz_512::$(openssl dgst -sha512 ${{ steps.archive_project.outputs.file_name }}.tar.gz)"
echo "::set-output name=zip_256::$(openssl dgst -sha256 ${{ steps.archive_project.outputs.file_name }}.zip)"
echo "::set-output name=zip_512::$(openssl dgst -sha512 ${{ steps.archive_project.outputs.file_name }}.zip)"
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
body: |
Automated release from TagIt
<details>
<summary>File Hashes</summary>
<ul>
<li>${{ steps.compute_digests.outputs.zip_256 }}</li>
<li>${{ steps.compute_digests.outputs.zip_512 }}</li>
<li>${{ steps.compute_digests.outputs.tgz_256 }}</li>
<li>${{ steps.compute_digests.outputs.tgz_512 }}</li>
</ul>
</details>
draft: false
prerelease: false
- name: Upload zip
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./${{ steps.archive_project.outputs.file_name }}.zip
asset_name: ${{ steps.archive_project.outputs.file_name }}.zip
asset_content_type: application/zip
- name: Upload tar.gz
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./${{ steps.archive_project.outputs.file_name }}.tar.gz
asset_name: ${{ steps.archive_project.outputs.file_name }}.tar.gz
asset_content_type: application/gzip
......@@ -15,59 +15,61 @@ jobs:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- name: Install system deps
run: sudo python3 build/fbcode_builder/getdeps.py --allow-system-packages install-system-deps --recursive folly
- name: Fetch boost
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests boost
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests boost
- name: Fetch ninja
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests ninja
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests ninja
- name: Fetch cmake
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests cmake
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests cmake
- name: Fetch double-conversion
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests double-conversion
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests double-conversion
- name: Fetch fmt
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fmt
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests fmt
- name: Fetch gflags
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests gflags
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests gflags
- name: Fetch glog
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests glog
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests glog
- name: Fetch googletest
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests googletest
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests googletest
- name: Fetch libevent
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libevent
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests libevent
- name: Fetch lz4
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests lz4
- name: Fetch snappy
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests snappy
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests snappy
- name: Fetch zstd
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests zstd
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests zstd
- name: Build boost
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests boost
run: python3 build/fbcode_builder/getdeps.py build --no-tests boost
- name: Build ninja
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests ninja
run: python3 build/fbcode_builder/getdeps.py build --no-tests ninja
- name: Build cmake
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests cmake
run: python3 build/fbcode_builder/getdeps.py build --no-tests cmake
- name: Build double-conversion
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests double-conversion
run: python3 build/fbcode_builder/getdeps.py build --no-tests double-conversion
- name: Build fmt
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests fmt
run: python3 build/fbcode_builder/getdeps.py build --no-tests fmt
- name: Build gflags
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests gflags
run: python3 build/fbcode_builder/getdeps.py build --no-tests gflags
- name: Build glog
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests glog
run: python3 build/fbcode_builder/getdeps.py build --no-tests glog
- name: Build googletest
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests googletest
run: python3 build/fbcode_builder/getdeps.py build --no-tests googletest
- name: Build libevent
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests libevent
run: python3 build/fbcode_builder/getdeps.py build --no-tests libevent
- name: Build lz4
run: python3 build/fbcode_builder/getdeps.py build --no-tests lz4
- name: Build snappy
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests snappy
run: python3 build/fbcode_builder/getdeps.py build --no-tests snappy
- name: Build zstd
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests zstd
run: python3 build/fbcode_builder/getdeps.py build --no-tests zstd
- name: Build folly
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --src-dir=. folly --project-install-prefix folly:/usr/local
run: python3 build/fbcode_builder/getdeps.py build --src-dir=. folly --project-install-prefix folly:/usr/local
- name: Copy artifacts
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fixup-dyn-deps --strip --src-dir=. folly _artifacts/linux --project-install-prefix folly:/usr/local --final-install-prefix /usr/local
run: python3 build/fbcode_builder/getdeps.py fixup-dyn-deps --strip --src-dir=. folly _artifacts/linux --project-install-prefix folly:/usr/local --final-install-prefix /usr/local
- uses: actions/upload-artifact@master
with:
name: folly
path: _artifacts
- name: Test folly
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages test --src-dir=. folly --project-install-prefix folly:/usr/local
run: python3 build/fbcode_builder/getdeps.py test --src-dir=. folly --project-install-prefix folly:/usr/local
......@@ -15,63 +15,65 @@ jobs:
runs-on: macOS-latest
steps:
- uses: actions/checkout@v1
- name: Install system deps
run: sudo python3 build/fbcode_builder/getdeps.py --allow-system-packages install-system-deps --recursive folly
- name: Fetch boost
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests boost
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests boost
- name: Fetch openssl
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests openssl
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests openssl
- name: Fetch ninja
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests ninja
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests ninja
- name: Fetch cmake
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests cmake
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests cmake
- name: Fetch double-conversion
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests double-conversion
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests double-conversion
- name: Fetch fmt
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fmt
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests fmt
- name: Fetch gflags
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests gflags
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests gflags
- name: Fetch glog
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests glog
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests glog
- name: Fetch googletest
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests googletest
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests googletest
- name: Fetch libevent
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libevent
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests libevent
- name: Fetch lz4
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests lz4
- name: Fetch snappy
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests snappy
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests snappy
- name: Fetch zstd
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests zstd
run: python3 build/fbcode_builder/getdeps.py fetch --no-tests zstd
- name: Build boost
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests boost
run: python3 build/fbcode_builder/getdeps.py build --no-tests boost
- name: Build openssl
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests openssl
run: python3 build/fbcode_builder/getdeps.py build --no-tests openssl
- name: Build ninja
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests ninja
run: python3 build/fbcode_builder/getdeps.py build --no-tests ninja
- name: Build cmake
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests cmake
run: python3 build/fbcode_builder/getdeps.py build --no-tests cmake
- name: Build double-conversion
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests double-conversion
run: python3 build/fbcode_builder/getdeps.py build --no-tests double-conversion
- name: Build fmt
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests fmt
run: python3 build/fbcode_builder/getdeps.py build --no-tests fmt
- name: Build gflags
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests gflags
run: python3 build/fbcode_builder/getdeps.py build --no-tests gflags
- name: Build glog
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests glog
run: python3 build/fbcode_builder/getdeps.py build --no-tests glog
- name: Build googletest
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests googletest
run: python3 build/fbcode_builder/getdeps.py build --no-tests googletest
- name: Build libevent
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests libevent
run: python3 build/fbcode_builder/getdeps.py build --no-tests libevent
- name: Build lz4
run: python3 build/fbcode_builder/getdeps.py build --no-tests lz4
- name: Build snappy
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests snappy
run: python3 build/fbcode_builder/getdeps.py build --no-tests snappy
- name: Build zstd
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests zstd
run: python3 build/fbcode_builder/getdeps.py build --no-tests zstd
- name: Build folly
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --src-dir=. folly --project-install-prefix folly:/usr/local
run: python3 build/fbcode_builder/getdeps.py build --src-dir=. folly --project-install-prefix folly:/usr/local
- name: Copy artifacts
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fixup-dyn-deps --src-dir=. folly _artifacts/mac --project-install-prefix folly:/usr/local --final-install-prefix /usr/local
run: python3 build/fbcode_builder/getdeps.py fixup-dyn-deps --src-dir=. folly _artifacts/mac --project-install-prefix folly:/usr/local --final-install-prefix /usr/local
- uses: actions/upload-artifact@master
with:
name: folly
path: _artifacts
- name: Test folly
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages test --src-dir=. folly --project-install-prefix folly:/usr/local
run: python3 build/fbcode_builder/getdeps.py test --src-dir=. folly --project-install-prefix folly:/usr/local
......@@ -16,73 +16,77 @@ jobs:
steps:
- uses: actions/checkout@v1
- name: Export boost environment
run: "echo ::set-env name=BOOST_ROOT::%BOOST_ROOT_1_69_0%"
run: "echo BOOST_ROOT=%BOOST_ROOT_1_69_0% >> %GITHUB_ENV%"
shell: cmd
- name: Fix Git config
run: git config --system core.longpaths true
- name: Fetch boost
run: python build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests boost
run: python build/fbcode_builder/getdeps.py fetch --no-tests boost
- name: Fetch perl
run: python build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests perl
run: python build/fbcode_builder/getdeps.py fetch --no-tests perl
- name: Fetch openssl
run: python build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests openssl
run: python build/fbcode_builder/getdeps.py fetch --no-tests openssl
- name: Fetch ninja
run: python build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests ninja
run: python build/fbcode_builder/getdeps.py fetch --no-tests ninja
- name: Fetch cmake
run: python build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests cmake
run: python build/fbcode_builder/getdeps.py fetch --no-tests cmake
- name: Fetch double-conversion
run: python build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests double-conversion
run: python build/fbcode_builder/getdeps.py fetch --no-tests double-conversion
- name: Fetch fmt
run: python build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fmt
run: python build/fbcode_builder/getdeps.py fetch --no-tests fmt
- name: Fetch gflags
run: python build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests gflags
run: python build/fbcode_builder/getdeps.py fetch --no-tests gflags
- name: Fetch glog
run: python build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests glog
run: python build/fbcode_builder/getdeps.py fetch --no-tests glog
- name: Fetch googletest
run: python build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests googletest
run: python build/fbcode_builder/getdeps.py fetch --no-tests googletest
- name: Fetch libevent
run: python build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libevent
run: python build/fbcode_builder/getdeps.py fetch --no-tests libevent
- name: Fetch lz4
run: python build/fbcode_builder/getdeps.py fetch --no-tests lz4
- name: Fetch snappy
run: python build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests snappy
run: python build/fbcode_builder/getdeps.py fetch --no-tests snappy
- name: Fetch zlib
run: python build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests zlib
run: python build/fbcode_builder/getdeps.py fetch --no-tests zlib
- name: Fetch zstd
run: python build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests zstd
run: python build/fbcode_builder/getdeps.py fetch --no-tests zstd
- name: Build boost
run: python build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests boost
run: python build/fbcode_builder/getdeps.py build --no-tests boost
- name: Build perl
run: python build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests perl
run: python build/fbcode_builder/getdeps.py build --no-tests perl
- name: Build openssl
run: python build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests openssl
run: python build/fbcode_builder/getdeps.py build --no-tests openssl
- name: Build ninja
run: python build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests ninja
run: python build/fbcode_builder/getdeps.py build --no-tests ninja
- name: Build cmake
run: python build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests cmake
run: python build/fbcode_builder/getdeps.py build --no-tests cmake
- name: Build double-conversion
run: python build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests double-conversion
run: python build/fbcode_builder/getdeps.py build --no-tests double-conversion
- name: Build fmt
run: python build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests fmt
run: python build/fbcode_builder/getdeps.py build --no-tests fmt
- name: Build gflags
run: python build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests gflags
run: python build/fbcode_builder/getdeps.py build --no-tests gflags
- name: Build glog
run: python build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests glog
run: python build/fbcode_builder/getdeps.py build --no-tests glog
- name: Build googletest
run: python build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests googletest
run: python build/fbcode_builder/getdeps.py build --no-tests googletest
- name: Build libevent
run: python build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests libevent
run: python build/fbcode_builder/getdeps.py build --no-tests libevent
- name: Build lz4
run: python build/fbcode_builder/getdeps.py build --no-tests lz4
- name: Build snappy
run: python build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests snappy
run: python build/fbcode_builder/getdeps.py build --no-tests snappy
- name: Build zlib
run: python build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests zlib
run: python build/fbcode_builder/getdeps.py build --no-tests zlib
- name: Build zstd
run: python build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests zstd
run: python build/fbcode_builder/getdeps.py build --no-tests zstd
- name: Build folly
run: python build/fbcode_builder/getdeps.py --allow-system-packages build --src-dir=. folly
run: python build/fbcode_builder/getdeps.py build --src-dir=. folly
- name: Copy artifacts
run: python build/fbcode_builder/getdeps.py --allow-system-packages fixup-dyn-deps --src-dir=. folly _artifacts/windows --final-install-prefix /usr/local
run: python build/fbcode_builder/getdeps.py fixup-dyn-deps --src-dir=. folly _artifacts/windows --final-install-prefix /usr/local
- uses: actions/upload-artifact@master
with:
name: folly
path: _artifacts
- name: Test folly
run: python build/fbcode_builder/getdeps.py --allow-system-packages test --src-dir=. folly
run: python build/fbcode_builder/getdeps.py test --src-dir=. folly
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Facebook projects that use `fbcode_builder` for continuous integration
# share this Travis configuration to run builds via Docker.
......
......@@ -23,14 +23,9 @@ find_path(DOUBLE_CONVERSION_INCLUDE_DIR double-conversion/double-conversion.h)
find_library(DOUBLE_CONVERSION_LIBRARY NAMES double-conversion)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(
DOUBLE_CONVERSION DEFAULT_MSG
find_package_handle_standard_args(
DoubleConversion
DEFAULT_MSG
DOUBLE_CONVERSION_LIBRARY DOUBLE_CONVERSION_INCLUDE_DIR)
if (NOT DOUBLE_CONVERSION_FOUND)
message(STATUS "Using third-party bundled double-conversion")
else()
message(STATUS "Found double-conversion: ${DOUBLE_CONVERSION_LIBRARY}")
endif (NOT DOUBLE_CONVERSION_FOUND)
mark_as_advanced(DOUBLE_CONVERSION_INCLUDE_DIR DOUBLE_CONVERSION_LIBRARY)
......@@ -29,7 +29,7 @@ endif()
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
# clang only rejects unknown warning flags if -Werror=unknown-warning-option
# is also specified.
CHECK_CXX_COMPILER_FLAG(
check_cxx_compiler_flag(
-Werror=unknown-warning-option
COMPILER_HAS_UNKNOWN_WARNING_OPTION)
if (COMPILER_HAS_UNKNOWN_WARNING_OPTION)
......@@ -37,8 +37,8 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
"${CMAKE_REQUIRED_FLAGS} -Werror=unknown-warning-option")
endif()
CHECK_CXX_COMPILER_FLAG(-Wshadow-local COMPILER_HAS_W_SHADOW_LOCAL)
CHECK_CXX_COMPILER_FLAG(
check_cxx_compiler_flag(-Wshadow-local COMPILER_HAS_W_SHADOW_LOCAL)
check_cxx_compiler_flag(
-Wshadow-compatible-local
COMPILER_HAS_W_SHADOW_COMPATIBLE_LOCAL)
if (COMPILER_HAS_W_SHADOW_LOCAL AND COMPILER_HAS_W_SHADOW_COMPATIBLE_LOCAL)
......@@ -46,31 +46,31 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
list(APPEND FOLLY_CXX_FLAGS -Wshadow-compatible-local)
endif()
CHECK_CXX_COMPILER_FLAG(-Wnoexcept-type COMPILER_HAS_W_NOEXCEPT_TYPE)
check_cxx_compiler_flag(-Wnoexcept-type COMPILER_HAS_W_NOEXCEPT_TYPE)
if (COMPILER_HAS_W_NOEXCEPT_TYPE)
list(APPEND FOLLY_CXX_FLAGS -Wno-noexcept-type)
endif()
CHECK_CXX_COMPILER_FLAG(
check_cxx_compiler_flag(
-Wnullability-completeness
COMPILER_HAS_W_NULLABILITY_COMPLETENESS)
if (COMPILER_HAS_W_NULLABILITY_COMPLETENESS)
list(APPEND FOLLY_CXX_FLAGS -Wno-nullability-completeness)
endif()
CHECK_CXX_COMPILER_FLAG(
check_cxx_compiler_flag(
-Winconsistent-missing-override
COMPILER_HAS_W_INCONSISTENT_MISSING_OVERRIDE)
if (COMPILER_HAS_W_INCONSISTENT_MISSING_OVERRIDE)
list(APPEND FOLLY_CXX_FLAGS -Wno-inconsistent-missing-override)
endif()
CHECK_CXX_COMPILER_FLAG(-faligned-new COMPILER_HAS_F_ALIGNED_NEW)
check_cxx_compiler_flag(-faligned-new COMPILER_HAS_F_ALIGNED_NEW)
if (COMPILER_HAS_F_ALIGNED_NEW)
list(APPEND FOLLY_CXX_FLAGS -faligned-new)
endif()
CHECK_CXX_COMPILER_FLAG(-fopenmp COMPILER_HAS_F_OPENMP)
check_cxx_compiler_flag(-fopenmp COMPILER_HAS_F_OPENMP)
if (COMPILER_HAS_F_OPENMP)
list(APPEND FOLLY_CXX_FLAGS -fopenmp)
endif()
......@@ -85,9 +85,6 @@ string(REGEX REPLACE
check_symbol_exists(pthread_atfork pthread.h FOLLY_HAVE_PTHREAD_ATFORK)
# Unfortunately check_symbol_exists() does not work for memrchr():
# it fails complaining that there are multiple overloaded versions of memrchr()
check_function_exists(memrchr FOLLY_HAVE_MEMRCHR)
check_symbol_exists(accept4 sys/socket.h FOLLY_HAVE_ACCEPT4)
check_symbol_exists(getrandom sys/random.h FOLLY_HAVE_GETRANDOM)
check_symbol_exists(preadv sys/uio.h FOLLY_HAVE_PREADV)
......@@ -131,10 +128,11 @@ check_cxx_source_compiles("
}"
FOLLY_HAVE_VLA
)
check_cxx_source_compiles("
extern \"C\" void configure_link_extern_weak_test() __attribute__((weak));
check_cxx_source_runs("
extern \"C\" int folly_example_undefined_weak_symbol() __attribute__((weak));
int main(int argc, char** argv) {
return configure_link_extern_weak_test == nullptr;
auto f = folly_example_undefined_weak_symbol; // null pointer
return f ? f() : 0; // must compile, link, and run with null pointer
}"
FOLLY_HAVE_WEAK_SYMBOLS
)
......@@ -151,30 +149,6 @@ check_cxx_source_runs("
FOLLY_HAVE_LINUX_VDSO
)
check_type_size(__int128 INT128_SIZE LANGUAGE CXX)
if (NOT INT128_SIZE STREQUAL "")
set(FOLLY_HAVE_INT128_T ON)
check_cxx_source_compiles("
#include <functional>
#include <type_traits>
#include <utility>
static_assert(
::std::is_same<::std::make_signed<unsigned __int128>::type,
__int128>::value,
\"signed form of 'unsigned __uint128' must be '__int128'.\");
static_assert(
sizeof(::std::hash<__int128>{}(0)) > 0, \
\"std::hash<__int128> is disabled.\");
int main() { return 0; }"
HAVE_INT128_TRAITS
)
if (HAVE_INT128_TRAITS)
set(FOLLY_SUPPLY_MISSING_INT128_TRAITS OFF)
else()
set(FOLLY_SUPPLY_MISSING_INT128_TRAITS ON)
endif()
endif()
check_cxx_source_runs("
#include <cstddef>
#include <cwchar>
......@@ -235,6 +209,8 @@ if (FOLLY_HAVE_LIBGFLAGS)
# use "google" but also make symbols available in the deprecated "gflags"
# namespace too. The folly code internally uses "gflags" unless we tell it
# otherwise.
list(APPEND CMAKE_REQUIRED_LIBRARIES ${FOLLY_LIBGFLAGS_LIBRARY})
list(APPEND CMAKE_REQUIRED_INCLUDES ${FOLLY_LIBGFLAGS_INCLUDE})
check_cxx_source_compiles("
#include <gflags/gflags.h>
int main() {
......@@ -244,6 +220,8 @@ if (FOLLY_HAVE_LIBGFLAGS)
"
GFLAGS_NAMESPACE_IS_GFLAGS
)
list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES ${FOLLY_LIBGFLAGS_LIBRARY})
list(REMOVE_ITEM CMAKE_REQUIRED_INCLUDES ${FOLLY_LIBGFLAGS_INCLUDE})
if (GFLAGS_NAMESPACE_IS_GFLAGS)
set(FOLLY_UNUSUAL_GFLAGS_NAMESPACE OFF)
set(FOLLY_GFLAGS_NAMESPACE gflags)
......
......@@ -202,7 +202,7 @@ function(folly_define_tests)
set(test_${cur_test}_content_dir)
set(test_${cur_test}_headers)
set(test_${cur_test}_sources)
set(test_${cur_test}_tag "NONE")
set(test_${cur_test}_tag)
set(argumentState 0)
while (currentArg LESS ${ARGC})
......@@ -221,13 +221,15 @@ function(folly_define_tests)
break()
elseif (argumentState EQUAL 0)
if ("x${ARGV${currentArg}}" STREQUAL "xBROKEN")
set(test_${cur_test}_tag "BROKEN")
list(APPEND test_${cur_test}_tag "BROKEN")
elseif ("x${ARGV${currentArg}}" STREQUAL "xHANGING")
set(test_${cur_test}_tag "HANGING")