Skip to content

Conversation

@SpudGunMan
Copy link

The purpose of this was to alleviate the errors I see a lot of the changes are detailed

This change ensures flush() is only called if the stream is open, and logs (but ignores) any exceptions during flush or close. This should prevent "Bad file descriptor" errors. The double flush() could be code attempting to use the serial port after it had been closed. This update guards against use-after-close scenarios.

This ensures flush() is only called if the stream is open, and logs (but ignores) any exceptions during flush. This should prevent the "Bad file descriptor" error.

I see this error a lot on a rak unit, I dont know this is the way but .. you be the judge.
The double flush() is not the root cause; the real issue is that code is trying to use the serial port after it has been closed.
The error occurs both in close() (during flush()) and later in _writeBytes() (during write()), indicating the port is closed or invalid at those times.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant