Skip to content

Conversation

@paolopas
Copy link

@paolopas paolopas commented Dec 13, 2025

Note

This is the fourth child, the code is branched from #557 (third child), so this one accumulate the changes.

Each commit has been checked for regressions.

  • 31105f7 small typos in the README.md
  • 1349cdd this wouldn't exist without @svyatogor, who provided an impeccable description of the problem in Boost handler doesn't work with SSL #424, I believe that with this fix the TLS problems will be significantly reduced; but it is also noteworthy that the Watcher has gotten rid of the *_pending flags which were a potential cause of race conditions, as described in the handler footnote in the previous commit.
  • 2ecd890 two asserts to guard against suspicious cases, to anticipate problems related to misuse of the handler and/or report library bugs early.
  • b6a37c5 I removed the execution context from the watcher as there was no reason to keep it as by design the handler only needs to use the strand.

In the actual version of the footnote in libboostasio.h, I wanted to provide a description of the typical problems that can arise when using this handler. But some fundamental suggestions on how to prevent them are still missing. This will certainly be helpful to many developers, and I believe it will soon be helpful to us as well. In fact, I have one last improvement planned that I think libboostasio should be made before it can be forgotten about for a long time. But I intend to discuss this in more detail in #550.

I'm attaching the current version of the handler for anyone curious to read or experiment.

Personally, I'm satisfied with the result, and I must confirm that compared to the version I had attached in the original PR, the only thing that was left out is now in commit 2f10c1f but in the meantime I did a lot of tests and I'm sure of the result, in addition to having definitely come out better (you know, the second time is always better...).

But @EmielBruijntjes stay tuned because there's really only one last thing missing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant