posix: added check for port closing
This commit is contained in:
@@ -33,16 +33,18 @@ func (port *unixPort) Close() error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send close signal to all pending reads (if any)
|
if port.closeSignal != nil {
|
||||||
port.closeSignal.Write([]byte{0})
|
// Send close signal to all pending reads (if any)
|
||||||
|
port.closeSignal.Write([]byte{0})
|
||||||
|
|
||||||
// Wait for all readers to complete
|
// Wait for all readers to complete
|
||||||
port.closeLock.Lock()
|
port.closeLock.Lock()
|
||||||
defer port.closeLock.Unlock()
|
defer port.closeLock.Unlock()
|
||||||
|
|
||||||
// Close signaling pipe
|
// Close signaling pipe
|
||||||
if err := port.closeSignal.Close(); err != nil {
|
if err := port.closeSignal.Close(); err != nil {
|
||||||
return err
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user