Οι παράλληλες αιτήσεις proxy απαιτούν ξεχωριστή ιδιοκτησία handle libcurl
Κρατήστε τα handles libcurl υπό την ιδιοκτησία ενός νήματος κάθε φορά όταν οι αιτήσεις χρησιμοποιούν διαφορετικούς proxies.
Μια επιλογή proxy ανήκει σε ένα handle libcurl easy. Η αλλαγή αυτής της επιλογής από ένα νήμα ενώ ένα άλλο νήμα εκτελεί μεταφορά στο ίδιο handle παραβιάζει τους κανόνες ιδιοκτησίας του handle.
Το libcurl είναι ασφαλές για νήματα όταν τηρούνται οι τεκμηριωμένοι κανόνες του. Δεν συγχρονίζει εσωτερικά αυθαίρετη ταυτόχρονη πρόσβαση σε ένα handle. Δώστε στους παράλληλους εργάτες τα δικά τους handles ή μεταβιβάστε την ιδιοκτησία μόνο όταν ο προηγούμενος χρήστης έχει τελειώσει.
Η διεπαφή share έχει ξεχωριστές απαιτήσεις κλειδώματος και όρια. Δεν αποτελεί άδεια ώστε κάθε εργάτης να αλλάζει κάθε ρύθμιση ενός κοινόχρηστου easy handle.
Τα παλιά παραδείγματα proxy-νημάτων συχνά περιλαμβάνουν callbacks κλειδώματος για παλιές εκδόσεις βιβλιοθηκών TLS. Ελέγξτε την τρέχουσα τεκμηρίωση ασφάλειας νημάτων για το πραγματικό TLS backend και το build. Η αντιγραφή ιστορικών callbacks OpenSSL σε μια τρέχουσα εφαρμογή δεν υποκαθιστά τη σωστή ιδιοκτησία handle.
Αρχικοποιήστε την καθολική κατάσταση της βιβλιοθήκης σύμφωνα με τις τεκμηριωμένες απαιτήσεις εκκίνησης πριν τη χρησιμοποιήσετε ταυτόχρονα. Για δημόσιες αιτήσεις που επιτρέπονται μέσω δημόσιων διαμεσολαβητών, η δωρεάν λίστα διακομιστών μεσολάβησης προσφέρει υποψηφίους για την επιλογή proxy κάθε εργάτη· αντιστοιχίστε το πρωτόκολλο με το build του libcurl. Για κάθε αποτυχημένη λειτουργία, διατηρήστε τον ρυθμισμένο proxy του handle και το δικό του αποτέλεσμα σφάλματος. Μια καθολική μεταβλητή “tρέχων proxy” είναι κακό αναγνωριστικό όταν πολλές μεταφορές βρίσκονται σε εξέλιξη.