Add error handling to _fsevents.remove_watch
#788
Closed
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.
The C extension wasn't great at dealing with some of the edge cases when watches are removed. This manifested itself in a couple of different errors. Some of them were worked around in Python land, most notably with checks for
self._watch
and setting it toNone
when it was removed. This masked an issue where we assumed that a watch was always found in the internal lookup dictionary when it was removed. With this issue fixed we can remove those checks, which is also done here.