-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Wait for reexec to finish when fileOutput is nil #7292
Conversation
if ret < 0 { | ||
return false, -1, errors.New("error waiting for the re-exec process") | ||
} | ||
|
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.
IDK, but will ask. We have a couple of other returns before the end of this function at lines 311 and 315. Do we need to call there too?
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.
I think we probably should. Can we defer
a function that runs reexec_in_user_namespace_wait
? Would there be a problem if we ran it against the same PID in rapid succession?
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.
@jdieter if we did the defer, we'd need to capture the status of the call and return appropriately based on that. I'm not sure that's doable with defer, @mheon or @vrothberg might have some smarter thoughts on that or my question in general.
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.
we could probably record the exit error and run it only when retErr != nil. What do you think?
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.
Makes sense to me.
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.
Ok, I'm not very proficient in Go, but tell me if my lastest push has what you're looking for. I've setup a deferred function that waits for the child if retErr != nil
. I don't bother with the return value from reexec_in_user_namespace_wait
because we presumably are more interested in passing whatever error is causing us to bail.
@giuseppe PTAL |
Currently, we're not cleanup up after ourselves when fileOutput is nil. This patch fixes that. Signed-off-by: Jonathan Dieter <[email protected]>
@giuseppe PTAL |
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
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: giuseppe, jdieter The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/lgtm |
Currently, we're not cleaning up up after ourselves when
fileOutput
is nil. This patch fixes that.