ตัวเลือกพร็อกซีเป็นของแฮนเดิล libcurl easy การเปลี่ยนตัวเลือกนั้นจากเธรดหนึ่งขณะที่อีกเธรดกำลังทำการถ่ายโอนบนแฮนเดิลเดียวกันละเมิดกฎกรรมสิทธิ์ของแฮนเดิล

libcurl ปลอดภัยต่อเธรดเมื่อปฏิบัติตามกฎที่บันทึกไว้ มันไม่ซิงโครไนซ์การเข้าถึงพร้อมกันโดยพลการต่อแฮนเดิลเดียวภายในตัวเอง ให้แฮนเดิลของตัวเองแก่ผู้ทำงานแบบขนาน หรือโอนกรรมสิทธิ์เมื่อผู้ใช้ก่อนหน้าเสร็จสิ้นแล้วเท่านั้น

อินเทอร์เฟซ share มีข้อกำหนดการล็อกและขีดจำกัดแยกต่างหาก ไม่ใช่การอนุญาตให้ผู้ทำงานแต่ละคนแก้ไขทุกการตั้งค่าของแฮนเดิล easy ที่ใช้ร่วมกัน

ตัวอย่างเธรดพร็อกซีแบบเก่ามักมี callback การล็อกสำหรับไลบรารี TLS เวอร์ชันเก่า ตรวจสอบเอกสารความปลอดภัยของเธรดปัจจุบันสำหรับ TLS backend และ build จริง การคัดลอก callback OpenSSL ในอดีตไปยังแอปพลิเคชันปัจจุบันไม่ใช่สิ่งทดแทนกรรมสิทธิ์แฮนเดิลที่ถูกต้อง

เริ่มต้นสถานะไลบรารีส่วนกลางตามข้อกำหนดการเริ่มต้นที่บันทึกไว้ก่อนใช้พร้อมกัน สำหรับคำขอสาธารณะที่อนุญาตผ่านตัวกลางสาธารณะ รายการพร็อกซีฟรี เสนอผู้สมัครสำหรับตัวเลือกพร็อกซีของผู้ทำงานแต่ละคน จับคู่โปรโตคอลกับ build ของ libcurl สำหรับการดำเนินการที่ล้มเหลวแต่ละครั้ง ให้เก็บพร็อกซีที่กำหนดค่าไว้ของแฮนเดิลและผลลัพธ์ข้อผิดพลาดของมันเอง ตัวแปรส่วนกลาง “พร็อกซีปัจจุบัน” เป็นตัวระบุที่ไม่ดีเมื่อมีการถ่ายโอนหลายรายการกำลังดำเนินอยู่

บทความที่เกี่ยวข้อง