mirror of
https://github.com/g4klx/DMRGateway
synced 2025-12-21 13:35:40 +08:00
Merge pull request #104 from f1rmb/f1rmb_fix_UDPSocket_close
Fix nasty bug in UDPSocket::close().
This commit is contained in:
@@ -187,6 +187,8 @@ bool CUDPSocket::open(const unsigned int index, const unsigned int af, const std
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
close(index);
|
||||||
|
|
||||||
int fd = ::socket(addr.ss_family, SOCK_DGRAM, 0);
|
int fd = ::socket(addr.ss_family, SOCK_DGRAM, 0);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
#if defined(_WIN32) || defined(_WIN64)
|
||||||
@@ -343,13 +345,13 @@ bool CUDPSocket::write(const unsigned char* buffer, unsigned int length, const s
|
|||||||
|
|
||||||
void CUDPSocket::close()
|
void CUDPSocket::close()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < UDP_SOCKET_MAX; i++)
|
for (unsigned int i = 0; i < UDP_SOCKET_MAX; i++)
|
||||||
close(m_fd[i]);
|
close(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CUDPSocket::close(const unsigned int index)
|
void CUDPSocket::close(const unsigned int index)
|
||||||
{
|
{
|
||||||
if (m_fd[index] >= 0) {
|
if ((index < UDP_SOCKET_MAX) && (m_fd[index] >= 0)) {
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
#if defined(_WIN32) || defined(_WIN64)
|
||||||
::closesocket(m_fd[index]);
|
::closesocket(m_fd[index]);
|
||||||
#else
|
#else
|
||||||
|
|||||||
Reference in New Issue
Block a user