Paralleelsed puhverserveri päringud nõuavad libcurl-käepidemete eraldi omandit
Hoidke libcurl-käepidemeid korraga ühe lõime omandis, kui päringud kasutavad erinevaid puhverservereid.
Puhverserveri valik kuulub libcurl easy handle'ile. Selle valiku muutmine ühest lõimest, samal ajal kui teine lõim teeb samal käepidemel ülekannet, rikub käepideme omandireegleid.
libcurl on lõimekindel, kui järgitakse selle dokumenteeritud reegleid. See ei sünkroniseeri sisemiselt suvalist üheaegset juurdepääsu ühele käepidemele. Andke paralleelsetele töödele oma käepidemed või andke omand üle alles siis, kui eelmine kasutaja on lõpetanud.
Share-liidesel on eraldi lukustusnõuded ja piirangud. See ei ole luba igal tööl muuta jagatud easy-käepideme kõiki seadeid.
Vanades puhverserveri lõimede näidetes on sageli vanade TLS-teekide versioonide lukustus-callbackid. Kontrollige tegeliku TLS-taustsüsteemi ja build'i jaoks kehtivat lõimekindluse dokumentatsiooni. Ajalooliste OpenSSL-i callbackide kopeerimine praegusesse rakendusse ei asenda õiget käepideme omandit.
Initsialiseerige teegi globaalne olek dokumenteeritud käivitusnõuete kohaselt enne selle üheaegset kasutamist. Avalike vahendajate kaudu lubatud avalike päringute jaoks pakub tasuta puhverserverite nimekiri kandidaate iga töö puhverserveri valiku jaoks; sobitage protokoll libcurl build'iga. Iga ebaõnnestunud toimingu puhul säilitage käepideme seadistatud puhverserver ja selle enda veatulemus. Globaalne muutuja “praegune puhverserver” on halb identifikaator, kui mitu ülekannet on pooleli.