repositories
/
deb_libcec.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into release
[deb_libcec.git]
/
src
/
lib
/
platform
/
posix
/
serialport.cpp
diff --git
a/src/lib/platform/posix/serialport.cpp
b/src/lib/platform/posix/serialport.cpp
index 2237b65b6565e629667b86db49f184e2cfed81a8..3764a1567f9673a26aedfaa0ba1192cfe4884145 100644
(file)
--- a/
src/lib/platform/posix/serialport.cpp
+++ b/
src/lib/platform/posix/serialport.cpp
@@
-54,14
+54,19
@@
using namespace std;
using namespace PLATFORM;
using namespace std;
using namespace PLATFORM;
+inline bool RemoveLock(const char *strDeviceName)
+{
+ #if !defined(__APPLE__) && !defined(__FreeBSD__)
+ return dev_unlock(strDeviceName, 0) == 0;
+ #endif
+}
+
void CSerialSocket::Close(void)
{
if (IsOpen())
{
SocketClose(m_socket);
void CSerialSocket::Close(void)
{
if (IsOpen())
{
SocketClose(m_socket);
- #if !defined(__APPLE__) && !defined(__FreeBSD__)
- dev_unlock(m_strName.c_str(), m_lockPid);
- #endif
+ RemoveLock(m_strName.c_str());
}
}
}
}
@@
-70,9
+75,7
@@
void CSerialSocket::Shutdown(void)
if (IsOpen())
{
SocketClose(m_socket);
if (IsOpen())
{
SocketClose(m_socket);
- #if !defined(__APPLE__) && !defined(__FreeBSD__)
- dev_unlock(m_strName.c_str(), m_lockPid);
- #endif
+ RemoveLock(m_strName.c_str());
}
}
}
}
@@
-119,8
+122,7
@@
bool CSerialSocket::Open(uint64_t iTimeoutMs /* = 0 */)
}
#if !defined(__APPLE__) && !defined(__FreeBSD__)
}
#if !defined(__APPLE__) && !defined(__FreeBSD__)
- m_lockPid = dev_lock(m_strName.c_str());
- if (m_lockPid != 0)
+ if (dev_lock(m_strName.c_str()) != 0)
{
m_strError = "Couldn't lock the serial port";
m_iError = EBUSY;
{
m_strError = "Couldn't lock the serial port";
m_iError = EBUSY;
@@
-133,9
+135,7
@@
bool CSerialSocket::Open(uint64_t iTimeoutMs /* = 0 */)
if (m_socket == INVALID_SERIAL_SOCKET_VALUE)
{
m_strError = strerror(errno);
if (m_socket == INVALID_SERIAL_SOCKET_VALUE)
{
m_strError = strerror(errno);
- #if !defined(__APPLE__) && !defined(__FreeBSD__)
- m_lockPid = dev_unlock(m_strName.c_str(), m_lockPid);
- #endif
+ RemoveLock(m_strName.c_str());
return false;
}
return false;
}
@@
-182,9
+182,7
@@
bool CSerialSocket::Open(uint64_t iTimeoutMs /* = 0 */)
if (tcsetattr(m_socket, TCSANOW, &m_options) != 0)
{
m_strError = strerror(errno);
if (tcsetattr(m_socket, TCSANOW, &m_options) != 0)
{
m_strError = strerror(errno);
- #if !defined(__APPLE__) && !defined(__FreeBSD__)
- m_lockPid = dev_unlock(m_strName.c_str(), m_lockPid);
- #endif
+ RemoveLock(m_strName.c_str());
return false;
}
return false;
}