Check return value of ioctl TIOCGSERIAL
on Linux
#174
Merged
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.
In the fix for issue #153, the return value of the ioctl
TIOCGSERIAL
should be check to ensure that theserInfo
variable has correctly been set before using it forTIOCSSERIAL
.Since Linux kernel 3.19, the
TIOCSSERIAL
ioctl prints a warning message when called (tty_warn_deprecated_flags). This behaviour will change in the next kernel version (4.20) but in the mean time this warning is spammed to the users.In this PR, I check the return value of the
TIOCGSERIAL
ioctl which generates no warning. A return value not equal to 0 means thatTIOCGSERIAL
is not handled andTIOCSSERIAL
is either not handled or generates a warning. When the return value is not 0, I skip theTIOCSSERIAL
ioctl to avoid the warning.