Fix some Helgrind thread errors with enable-tls, and enable-curl. #396
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes a subset of thread errors from PR #395.
Fix some Helgrind thread errors around simultaneous reads and writes from different threads:
mqttcurl_test_nonblock()
into separate read and write functions to fix simultaneous updates from different read/write threads.This passes whereas PR #395 fails. Apparently the extra locking around SSL struct makes the multithreading CI tests unstable, though it fixes threading errors.
Note: ultimately tested with helgrind and drd:
valgrind --tool=helgrind --track-lockorders=yes --free-is-write=yes --fair-sched=yes -s
valgrind --tool=drd --trace-mutex=yes --fair-sched=yes -s