Le richieste proxy parallele richiedono una proprietà separata degli handle libcurl
Tenete gli handle libcurl sotto la proprietà di un solo thread alla volta quando le richieste usano proxy diversi.
Un'opzione proxy appartiene a un handle libcurl easy. Modificare quell'opzione da un thread mentre un altro thread esegue un trasferimento sullo stesso handle viola le regole di proprietà dell'handle.
libcurl è thread-safe quando si seguono le sue regole documentate. Non sincronizza internamente l'accesso simultaneo arbitrario a un handle. Date ai worker concorrenti handle propri, oppure trasferite la proprietà solo quando l'utente precedente ha finito.
L'interfaccia share ha requisiti di blocco e limiti separati. Non è un permesso per modificare ogni impostazione di un handle easy condiviso da ogni worker.
I vecchi esempi di thread proxy includono spesso callback di blocco per vecchie versioni delle librerie TLS. Controllate la documentazione attuale sulla thread-safety per il backend TLS e la build effettivi. Copiare callback OpenSSL storici in un'applicazione attuale non sostituisce una corretta proprietà dell'handle.
Inizializzate lo stato globale della libreria secondo i requisiti di avvio documentati prima di usarlo in modo concorrente. Per le richieste pubbliche consentite tramite intermediari pubblici, la lista di proxy gratuiti offre candidati per l'opzione proxy di ogni worker; abbinate il protocollo alla build di libcurl. Per ogni operazione fallita, conservate il proxy configurato dell'handle e il suo risultato di errore. Una variabile globale “proxy corrente” è un cattivo identificatore quando sono in corso più trasferimenti.