Fix Windows.

This commit is contained in:
Jonathan Naylor 2020-09-20 21:24:13 +01:00
parent 5051efa78d
commit 7934cc78bb
3 changed files with 21 additions and 14 deletions

View file

@ -190,6 +190,8 @@ m_rxFrequency(0U)
,m_gpsd(NULL)
#endif
{
CUDPSocket::startup();
m_status = new DMRGW_STATUS[3U];
m_status[1U] = DMRGWS_NONE;
m_status[2U] = DMRGWS_NONE;
@ -267,6 +269,8 @@ CDMRGateway::~CDMRGateway()
delete[] m_status;
delete[] m_config;
CUDPSocket::shutdown();
}
int CDMRGateway::run()

View file

@ -37,12 +37,6 @@ m_address_save(address),
m_port_save(port),
m_counter(0U)
{
#if defined(_WIN32) || defined(_WIN64)
WSAData data;
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
if (wsaRet != 0)
LogError("Error from WSAStartup");
#endif
for (int i = 0; i < UDP_SOCKET_MAX; i++) {
m_address[i] = "";
m_port[i] = 0U;
@ -56,12 +50,6 @@ m_address_save(),
m_port_save(port),
m_counter(0U)
{
#if defined(_WIN32) || defined(_WIN64)
WSAData data;
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
if (wsaRet != 0)
LogError("Error from WSAStartup");
#endif
for (int i = 0; i < UDP_SOCKET_MAX; i++) {
m_address[i] = "";
m_port[i] = 0U;
@ -72,6 +60,20 @@ m_counter(0U)
CUDPSocket::~CUDPSocket()
{
}
void CUDPSocket::startup()
{
#if defined(_WIN32) || defined(_WIN64)
WSAData data;
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
if (wsaRet != 0)
LogError("Error from WSAStartup");
#endif
}
void CUDPSocket::shutdown()
{
#if defined(_WIN32) || defined(_WIN64)
::WSACleanup();
#endif
@ -293,7 +295,6 @@ int CUDPSocket::read(unsigned char* buffer, unsigned int length, sockaddr_storag
m_counter++;
address_length = size;
return len;
}

View file

@ -60,6 +60,9 @@ public:
void close();
void close(const unsigned int index);
static void startup();
static void shutdown();
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length);
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length, struct addrinfo& hints);
@ -78,4 +81,3 @@ private:
};
#endif