mirror of
https://github.com/AppleWin/AppleWin.git
synced 2024-06-08 16:29:39 +00:00
SerialComms: compilation in linux.
1) static variables must be defined (otherwise it becomes optimisation-dependent) 2) ensure the socket is closed if an error is detected
This commit is contained in:
parent
cd2f29b723
commit
c1c7c0ff82
|
@ -47,6 +47,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|||
|
||||
#define TCP_SERIAL_PORT 1977
|
||||
|
||||
const UINT CSuperSerialCard::SERIALPORTITEM_INVALID_COM_PORT = 0;
|
||||
|
||||
// Default: 9600-8-N-1
|
||||
SSC_DIPSW CSuperSerialCard::m_DIPSWDefault =
|
||||
{
|
||||
|
@ -241,6 +243,7 @@ bool CSuperSerialCard::CheckComm()
|
|||
saAddress.sin_addr.s_addr = htonl(INADDR_ANY);
|
||||
if (bind(m_hCommListenSocket, (LPSOCKADDR)&saAddress, sizeof(saAddress)) == SOCKET_ERROR)
|
||||
{
|
||||
closesocket(m_hCommListenSocket);
|
||||
m_hCommListenSocket = INVALID_SOCKET;
|
||||
WSACleanup();
|
||||
return false;
|
||||
|
@ -249,6 +252,7 @@ bool CSuperSerialCard::CheckComm()
|
|||
// bound, so listen
|
||||
if (listen(m_hCommListenSocket, 1) == SOCKET_ERROR)
|
||||
{
|
||||
closesocket(m_hCommListenSocket);
|
||||
m_hCommListenSocket = INVALID_SOCKET;
|
||||
WSACleanup();
|
||||
return false;
|
||||
|
@ -261,6 +265,7 @@ bool CSuperSerialCard::CheckComm()
|
|||
/* unsigned int wMsg */ WM_USER_TCP_SERIAL,
|
||||
/* long lEvent */ (FD_ACCEPT | FD_CONNECT | FD_READ | FD_CLOSE)) != 0)
|
||||
{
|
||||
closesocket(m_hCommListenSocket);
|
||||
m_hCommListenSocket = INVALID_SOCKET;
|
||||
WSACleanup();
|
||||
return false;
|
||||
|
|
|
@ -88,7 +88,7 @@ private:
|
|||
std::string m_currentSerialPortName;
|
||||
DWORD m_dwSerialPortItem;
|
||||
|
||||
static const UINT SERIALPORTITEM_INVALID_COM_PORT = 0;
|
||||
static const UINT SERIALPORTITEM_INVALID_COM_PORT;
|
||||
std::vector<UINT> m_vecSerialPortsItems; // Includes "None" & "TCP" items
|
||||
std::string m_strSerialPortChoices;
|
||||
UINT m_uTCPChoiceItemIdx;
|
||||
|
|
Loading…
Reference in New Issue
Block a user