+ if (IsOpen())
+ {
+ SocketClose(m_socket);
+ #if !defined(__APPLE__) && !defined(__FreeBSD__)
+ dev_unlock(m_strName.c_str(), m_lockPid);
+ #endif
+ }
+}
+
+ssize_t CSerialSocket::Write(void* data, size_t len)
+{
+ return IsOpen() ? SocketWrite(m_socket, &m_iError, data, len) : -1;
+}
+
+ssize_t CSerialSocket::Read(void* data, size_t len, uint64_t iTimeoutMs /* = 0 */)
+{
+ return IsOpen() ? SocketRead(m_socket, &m_iError, data, len, iTimeoutMs) : -1;