Vzporedne proxy zahteve potrebujejo ločeno lastništvo ročajev libcurl
Ohranite ročaje libcurl v lasti ene niti hkrati, ko zahteve uporabljajo različne proxyje.
Možnost proxy pripada ročaju libcurl easy. Spreminjanje te možnosti iz ene niti, medtem ko druga nit izvaja prenos na istem ročaju, krši pravila lastništva ročaja.
libcurl je varen za niti, kadar se upoštevajo njegova dokumentirana pravila. Ne sinhronizira notranje poljubnega hkratnega dostopa do enega ročaja. Vzporednim delavcem dajte lastne ročaje ali prenesite lastništvo šele, ko je prejšnji uporabnik končal.
Vmesnik share ima ločene zahteve za zaklepanje in omejitve. Ni dovoljenje, da bi vsak delavec spreminjal vsako nastavitev skupnega ročaja easy.
Stari primeri proxy niti pogosto vsebujejo zaklepne povratne klice za stare različice knjižnic TLS. Preverite trenutno dokumentacijo o varnosti niti za dejanski zaledni sistem TLS in gradnjo. Kopiranje zgodovinskih povratnih klicev OpenSSL v trenutno aplikacijo ne nadomesti pravilnega lastništva ročaja.
Inicializirajte globalno stanje knjižnice v skladu z dokumentiranimi zahtevami zagona, preden jo uporabite hkrati. Za javne zahteve, dovoljene prek javnih posrednikov, brezplačen seznam proxyjev ponuja kandidate za možnost proxy vsakega delavca; uskladite protokol z gradnjo libcurl. Pri vsaki neuspešni operaciji ohranite nastavljeni proxy ročaja in njegov lastni rezultat napake. Globalna spremenljivka “trenutni proxy” je slab identifikator, ko poteka več prenosov.