Use FOLLY_HAS_LIBURING instead of __has_include in SSLUtil#694
Open
Sathvik-Chowdary-Veerapaneni wants to merge 1 commit intofacebook:mainfrom
Open
Conversation
Replace the ad-hoc __has_include(<liburing.h>) check with the FOLLY_HAS_LIBURING macro from Folly's feature test header. The macro is already available via the existing <folly/io/async/AsyncIoUringSocketFactory.h> include, which pulls in <folly/io/async/Liburing.h>. This ensures the uring code path is only compiled when Folly was actually built with uring support, matching the pattern used throughout the rest of the fbthrift codebase. Fixes facebook#649
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #649
SSLUtil.cppwas using#if defined(__linux__) && __has_include(<liburing.h>)to guard the io_uring code path. This is an ad-hoc check that only tests whether theliburing.hheader is present on the system, without verifying that Folly was actually compiled with uring support.This PR replaces it with the
FOLLY_HAS_LIBURINGmacro from Folly's feature test header (folly/io/async/Liburing.h), which is already available through the existing<folly/io/async/AsyncIoUringSocketFactory.h>include. This matches the pattern used consistently throughout the rest of the fbthrift codebase (e.g.,ThriftServer.cpp,IOUringUtil.h,IOUringUtil.cpp, and the stresstest utilities).Changes
thrift/lib/cpp2/security/SSLUtil.cpp: Replace#if defined(__linux__) && __has_include(<liburing.h>)with#if FOLLY_HAS_LIBURINGVerification
__has_include(<liburing.h>)directly. All other uring-related files already useFOLLY_HAS_LIBURING.__has_includechecks for<liburing.h>remain in the codebase.