-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initial attempt at win32 http_listener response refactor #16
Conversation
Hi @gigaplex, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution! TTYL, MSBOT; |
CLA is awaiting signature from our legal team, they've informally granted permission at this stage. |
To improve readability, could you use an enum for the As mentioned in the other thread, I'm concerned about race conditions regarding the reading and setting of
|
Thanks for the initial feedback. I chose to use a bool instead of an enum because that's how the asio code currently does it, but I agree, I usually prefer enums here. As for the race condition in your example, |
I submitted the CLA a few days ago, yet this is still tagged as cla-required. How long does it normally take to process? |
yes, this seems to be taking unusually long, I am following up on this with our CLA automation team. |
Hi @gigaplex, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution! The agreement was validated by Microsoft and real humans are currently evaluating your PR. TTYL, MSBOT; |
I'm fairly happy with the current state of my changes now. Can I get another round of review for merging please? One question I do have is that in the |
…ues where error replies didn't get sent, and cyclic references weren't cleaned up
…rt in an error case that looks problematic
… that it can't fire before the response claims ownership of the circular reference
9ac8c7e
to
6c82566
Compare
I've rebased against 2.7.0. |
Sorry for the delay on this one, thank you very much for your patience and the contribution! |
Cherry-pick c++20 support from upstream
For Issue 13: #13
Here is a first cut at a refactor for the response handling to reduce cyclic reference leaks and allow error replies to propagate back to the client. I'm not 100% happy with it, the content_ready_task for example will potentially race against async_process_response if they both attempt to call cancel_request under certain error conditions. There's also no attempt to catch exceptions on the proxy_content_ready completion event, which might cause some unobserved exception issues. I've created the pull request at this early stage to facilitate discussion.