handle removal of the serialdevice
This commit is contained in:
@@ -210,6 +210,7 @@ public enum PortError: Int32, Error {
|
||||
case mustBeOpen
|
||||
case stringsMustBeUTF8
|
||||
case unableToConvertByteToCharacter
|
||||
case deviceNotConnected
|
||||
}
|
||||
|
||||
public class SerialPort {
|
||||
@@ -372,6 +373,12 @@ extension SerialPort {
|
||||
throw PortError.mustBeOpen
|
||||
}
|
||||
|
||||
var s: stat = stat()
|
||||
fstat(fileDescriptor, &s)
|
||||
if s.st_nlink != 1 {
|
||||
throw PortError.deviceNotConnected
|
||||
}
|
||||
|
||||
let bytesRead = read(fileDescriptor, buffer, size)
|
||||
return bytesRead
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user