-
Notifications
You must be signed in to change notification settings - Fork 116
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
[catmem] Release Queue Descriptor Even If close()
Fails
#691
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
instead of freeing the queue descriptor, should we eventually have states and the queue should be placed into a CLOSING state, which continues to try to push the EoF? |
Definitely we should have some abstraction for the states of the queue itself, such as we have in Catnap Loop. However, the problem here about continuing try to push EoF is that we are not sure that this is due because the ring buffer is full or the other end has closed the pipe. In the latter case, we don't have a signal mechanism, because a pipe is unidirectional. Any ideias? |
a99de78
to
d068d0e
Compare
My thought was that we should at least keep trying to push EoF regardless of whether the other end will read it because it closed the pipe or stopped pulling things out of it. |
Sure, I've opened an issue for this. |
Description
This PR is a follow up of #686
Summary of Changes
close()
to release the queue descriptor even if we fail topush_eof()
.#686