-
Notifications
You must be signed in to change notification settings - Fork 122
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
handle EINTR return code from tcdrain to effectively flush #225
base: main
Are you sure you want to change the base?
Conversation
Thank you for looking into this and opening this PR! Recently there was a discussion regarding The same is stated for Nonetheless, the (previously) returned error kind |
@sirhcel if the specific error is forwarded as an It is probably a better approach to indeed let the client side decide how to handle this error. Maybe we should instead have a method in I'd favor your proposition then :) |
Then we agree on the point that flush should return distinguishable error values. Good.
Under which circumstances are you getting I asked the question on how In case of Ctrl + C automatically retrying at "library level" might interfere with the user's intention of stopping the program execution (if flushing takes a significant amount of time). Returning
Then let's "bubble up" the right error, document this behavior and we should be sorted here. |
I have a library using Flutter application runs on a asynchronous event loop and I guess application must receive some signals that are sent internally by the flutter engine to drive the loop. You make a point about signal from Ctrl+C. And basically looping through
Yes indeed. Do you prefer that I rebase the PR with this fix or will you do it yourself and we close this ? |
Thank you for the information on the background of this PR!
Sleeping over it for some nights put my decisiveness a step back. Because - as you're mentioning here - Let's assume for a moment that #177 is fixed. The execution time of Timeout behavior is not specified by What's your opinion on this @ndusart?
Would be great if you could lend a hand. |
Hi, this PR adds the handling of EINTR return code from
tcdrain
.If returning EINTR, it does not mean an actual error for the flushing operation and this should be retried.