-
Notifications
You must be signed in to change notification settings - Fork 8
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
make controller_run_result movable and expose it as start_result #108
Conversation
This actually was informative because it showed how m_workguard actually does matter. See if there is no work guard, and the user calls run() on a _client_ controller, then enough time elapses so that all work is complete and there is a pause before new work is added, the io_context::run() will return for each of the threads, meaning that in actual fact queuing more actions via the controller (which is valid after calling start) would not actually do anything. tl;dr nasty obscure bug, keep the workguard its needed for clients
Well, that was some unfortunate timing :p
Could you be more specific? I must be missing something obvious... Would love to hear about it. |
The threads spawned by Also it doesn't check in |
Ouch... that one would definitely have made for some very, very unpleasant nights of debugging down the road. I am very glad that you caught that one... - Eagle eyes 😉
Now that was just a stupid oversight - should have taken the courtesy to get some sleep before committing this - sorry! Not sure whether we should:
|
Well I don't really have much more time to spend on this, and prolly won't for a few days unfortunately so it might be best to roll back 5874a5a since it isn't safe to move the object anyway and then merge this when it implements whatever is decided for #107, since otherwise its likely going to make the solution a breaking change. I'm pretty sure I can just resolve conflicts by hand on github though by just not accepting 5874a5a when merging |
I'm a bit tight on time as well. I will revert my commit which introduced the bug you discovered/mentioned so that Thank you for all the time you invest into this. It's greatly appreciated :) |
…into feat-expose-run-result
I've done the renames suggested in #107. I also renamed the header files and such, not sure if |
Nice work! |
Related to #106 and #107.
5874a5a implemented part of this but there is a subtle bug in it which shouldn't exist in this one. Feel free to close and/or cherry pick the move changes as the rest may be unwanted while #107 is open, but make sure to include 6456a16 as I accidentally removed the work guard when merging it with my local changes.
Also of note is the message in 6456a16, in which I discovered why we need a work guard for the io context.