core.tangle: Move fd close into callback#1763
Open
brownjohnf wants to merge 1 commit intonvim-neorg:mainfrom
Open
core.tangle: Move fd close into callback#1763brownjohnf wants to merge 1 commit intonvim-neorg:mainfrom
brownjohnf wants to merge 1 commit intonvim-neorg:mainfrom
Conversation
Occasionally, when tangling, neorg would display an error about a bad file descriptor. Running tangle again would often succeed. It happened maybe 1 in 10 times or so. This commit addresses what I believe to be the issue, which is that we were closing the file descriptor _outside_ of the vim.uv.fs_write call, which I believe is async. So in some cases (perhaps correlated with the size of data being written?), we'd close the file before the write had completed, which would then result in an error. I've been running this patch locally for the last week or so, and I have neorg configured to tangle-on-write for norg files. I have yet to encounter the error, which makes me believe this to be the fix (or at least not problematic?).
c2c6ded to
db2b7ae
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Occasionally, when tangling, neorg would display an error about a bad file descriptor. Running tangle again would often succeed. It happened maybe 1 in 10 times or so.
This commit addresses what I believe to be the issue, which is that we were closing the file descriptor outside of the vim.uv.fs_write call, which I believe is async. So in some cases (perhaps correlated with the size of data being written?), we'd close the file before the write had completed, which would then result in an error.
I've been running this patch locally for the last week or so, and I have neorg configured to tangle-on-write for norg files. I have yet to encounter the error, which makes me believe this to be the fix (or at least not problematic?).
I'm a total lua newb (but having fun!), so please correct me if my reasoning or the changes don't make sense.