Volba proxy patří handle libcurl easy. Změna této volby z jednoho vlákna, zatímco jiné vlákno provádí přenos na stejném handle, porušuje pravidla vlastnictví handle.

libcurl je bezpečný pro vlákna, pokud se dodržují jeho dokumentovaná pravidla. Interně nesynchronizuje svévolný souběžný přístup k jednomu handle. Dejte souběžným pracovníkům vlastní handle, nebo převeďte vlastnictví jen tehdy, když předchozí uživatel skončil.

Rozhraní share má samostatné požadavky na zamykání a omezení. Není to oprávnění měnit každé nastavení sdíleného handle easy z každého pracovníka.

Staré příklady proxy vláken často obsahují zamykací callbacky pro staré verze knihoven TLS. Ověřte aktuální dokumentaci k bezpečnosti vláken pro skutečný backend TLS a sestavení. Kopírování historických callbacků OpenSSL do současné aplikace nenahrazuje správné vlastnictví handle.

Inicializujte globální stav knihovny podle dokumentovaných požadavků na spuštění, než jej začnete používat souběžně. Pro veřejné požadavky povolené přes veřejné prostředníky nabízí seznam bezplatných proxy kandidáty pro volbu proxy každého pracovníka; slaďte protokol se sestavením libcurl. U každé neúspěšné operace zachovejte nakonfigurovanou proxy handle a jeho vlastní výsledek chyby. Globální proměnná “aktuální proxy” je špatný identifikátor, když probíhá několik přenosů.

Související články