mirror of
https://github.com/s3fs-fuse/s3fs-fuse.git
synced 2026-04-25 05:16:00 +03:00
[PR #2608] [MERGED] Added new class for curl share handle #2665
Labels
No labels
bug
bug
dataloss
duplicate
enhancement
feature request
help wanted
invalid
need info
performance
pull-request
question
question
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/s3fs-fuse#2665
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/s3fs-fuse/s3fs-fuse/pull/2608
Author: @ggtakec
Created: 11/10/2024
Status: ✅ Merged
Merged: 11/27/2024
Merged by: @gaul
Base:
master← Head:multi/8_curl_in_worker📝 Commits (1)
8f0c861Added new class for curl share handle📊 Changes
13 files changed (+419 additions, -181 deletions)
View changed files
📝
.github/workflows/ci.yml(+2 -2)📝
src/Makefile.am(+1 -0)📝
src/curl.cpp(+4 -118)📝
src/curl.h(+0 -9)➕
src/curl_share.cpp(+239 -0)➕
src/curl_share.h(+89 -0)📝
src/s3fs.cpp(+3 -2)📝
src/s3fs_threadreqs.cpp(+45 -31)📝
src/s3fs_threadreqs.h(+14 -14)📝
src/threadpoolman.cpp(+18 -2)📝
src/threadpoolman.h(+3 -1)📝
test/run_tests_using_sanitizers.sh(+1 -1)➖
test/threadsanitizer_suppressions.txt(+0 -1)📄 Description
Relevant Issue (if applicable)
#2600
Details
This is the split PR Phase 8 (8/8) for #2600.
Added the
S3fsCurlShareclass which manages Curl Share handles.This class manages Curl Share Handle for each Thread.
The retention(creation and management) of
S3fsCurlobjects has been moved toThreadPoolMan's worker thread management function.As a result, the Handler(Callback) for each request does not retain the
S3fsCurlobject, but receives it as a parameter.As a result, the Data Race issue has been resolved by managing the Curl Share Handle on a per-thread basis.
This re-enables
CURL_LOCK_DATA_SSL_SESSION, which was disabled in #2601.Last, I removed the threadsanitizer_suppressions.txt file that ignores DataRace, which was added in #2559, and reverted it.
This PR will be rebased and removed from draft status once the previous PR(#2607) is merged into master.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.