Now message-box/bt class will restart thread if it was aborted because of a non-local exit from processing loop. #103
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.
I've measured performance before these changes and after them and didn't notice significant changes. Results of the benchmark along with the baseline results are available in this gist:
https://gist.github.com/svetlyak40wt/a1097ab7d501087ca366d5addb410ebe
Note, this PR is the replacement for #101
It uses another approach for checking if thread is died – catches non-local exit using
unwind-protect
.Also, in this thread I've removed a special brach for processing the
time-out
while waiting for response. Now both cases (withtime-out
and without) are handled using the same code, relying ontimeout
argument of condition wait function.Peformance testing didn't show any difference with the code from the master branch.