Rinnakkaiset välityspalvelinpyynnöt vaativat erillisen libcurl-kahvan omistajuuden
Pidä libcurl-kahvat yhden säikeen omistuksessa kerrallaan, kun pyynnöt käyttävät eri välityspalvelimia.
Välityspalvelinasetus kuuluu libcurl easy -kahvaan. Asetuksen muuttaminen yhdestä säikeestä, kun toinen säie suorittaa siirtoa samalla kahvalla, rikkoo kahvan omistajuussääntöjä.
libcurl on säikeenkestävä, kun sen dokumentoituja sääntöjä noudatetaan. Se ei synkronoi sisäisesti mielivaltaista samanaikaista pääsyä yhteen kahvaan. Anna rinnakkaisille työntekijöille omat kahvat tai siirrä omistajuus vasta, kun edellinen käyttäjä on lopettanut.
Share-rajapinnalla on erilliset lukitusvaatimukset ja rajoitukset. Se ei ole lupa muuttaa jaetun easy-kahvan jokaista asetusta jokaisesta työntekijästä.
Vanhoissa välityspalvelinsäikeiden esimerkeissä on usein lukitus-callbackeja vanhoille TLS-kirjastoversioille. Tarkista nykyinen säikeenkestävyysdokumentaatio todelliselle TLS-taustajärjestelmälle ja buildille. Historiallisten OpenSSL-callbackien kopioiminen nykyiseen sovellukseen ei korvaa oikeaa kahvan omistajuutta.
Alusta kirjaston globaali tila dokumentoitujen käynnistysvaatimusten mukaisesti ennen sen samanaikaista käyttöä. Julkisten välittäjien kautta sallituille julkisille pyynnöille ilmainen proxyluettelo tarjoaa ehdokkaita kunkin työntekijän välityspalvelinasetukselle; sovita protokolla libcurl-buildiin. Säilytä jokaisessa epäonnistuneessa toiminnossa kahvan määritetty välityspalvelin ja sen oma virhetulos. Globaali “nykyinen välityspalvelin” -muuttuja on huono tunniste, kun useita siirtoja on käynnissä.