Các yêu cầu proxy song song cần quyền sở hữu handle libcurl riêng
Giữ các handle libcurl thuộc quyền sở hữu của một luồng tại một thời điểm khi các yêu cầu dùng proxy khác nhau.
Một tùy chọn proxy thuộc về một handle libcurl easy. Thay đổi tùy chọn đó từ một luồng trong khi luồng khác đang thực hiện truyền trên cùng handle sẽ vi phạm quy tắc sở hữu của handle.
libcurl an toàn với luồng khi tuân theo các quy tắc đã được ghi lại. Nó không tự đồng bộ hóa việc truy cập đồng thời tùy ý vào một handle. Hãy cấp handle riêng cho từng worker song song, hoặc chỉ chuyển quyền sở hữu khi người dùng trước đã kết thúc.
Giao diện share có yêu cầu khóa và giới hạn riêng. Đó không phải là sự cho phép mỗi worker thay đổi mọi thiết lập của một handle easy dùng chung.
Các ví dụ luồng proxy cũ thường bao gồm callback khóa cho các phiên bản thư viện TLS cũ. Hãy kiểm tra tài liệu an toàn luồng hiện tại cho backend TLS và bản build thực tế. Sao chép callback OpenSSL lịch sử vào một ứng dụng hiện tại không thay thế cho quyền sở hữu handle đúng đắn.
Khởi tạo trạng thái toàn cục của thư viện theo các yêu cầu khởi động đã được ghi lại trước khi dùng đồng thời. Đối với các yêu cầu công khai được cho phép qua trung gian công khai, danh sách proxy miễn phí cung cấp ứng viên cho tùy chọn proxy của mỗi worker; khớp giao thức với bản build libcurl. Với mỗi thao tác thất bại, giữ lại proxy đã cấu hình của handle và kết quả lỗi riêng của nó. Một biến toàn cục “proxy hiện tại” là định danh kém khi có nhiều lần truyền đang diễn ra.