mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
Fix Bug #19044 IM aborts on exit
On windows IM aborted on assert once one stoppped it. The reason is that we didn't close the sockets on windows and therefore, the listener thread wasn't able to finish. This happened because we used close() call for it. While on windows one should use closesocket(). On other platfroms we have appropriate defines for closesocket(), so this is the function which should be used.
This commit is contained in:
parent
87a87bc04b
commit
2bc1898bc6
1 changed files with 5 additions and 5 deletions
|
@ -188,7 +188,7 @@ void Listener_thread::run()
|
|||
else
|
||||
{
|
||||
shutdown(client_fd, SHUT_RDWR);
|
||||
close(client_fd);
|
||||
closesocket(client_fd);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -200,7 +200,7 @@ void Listener_thread::run()
|
|||
log_info("Listener_thread::run(): shutdown requested, exiting...");
|
||||
|
||||
for (i= 0; i < num_sockets; i++)
|
||||
close(sockets[i]);
|
||||
closesocket(sockets[i]);
|
||||
|
||||
#ifndef __WIN__
|
||||
unlink(unix_socket_address.sun_path);
|
||||
|
@ -213,7 +213,7 @@ void Listener_thread::run()
|
|||
err:
|
||||
// we have to close the ip sockets in case of error
|
||||
for (i= 0; i < num_sockets; i++)
|
||||
close(sockets[i]);
|
||||
closesocket(sockets[i]);
|
||||
|
||||
thread_registry.unregister_thread(&thread_info);
|
||||
thread_registry.request_shutdown();
|
||||
|
@ -260,7 +260,7 @@ int Listener_thread::create_tcp_socket()
|
|||
{
|
||||
log_error("Listener_thread::run(): bind(ip socket) failed, '%s'",
|
||||
strerror(errno));
|
||||
close(ip_socket);
|
||||
closesocket(ip_socket);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -268,7 +268,7 @@ int Listener_thread::create_tcp_socket()
|
|||
{
|
||||
log_error("Listener_thread::run(): listen(ip socket) failed, %s",
|
||||
strerror(errno));
|
||||
close(ip_socket);
|
||||
closesocket(ip_socket);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue