mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
MDEV-9366 : do_shutdown_server fails to detect server shutdown on Windows.
Fix test whether process is alive in mysqltest. Also fix SHUT_RD definition on Windows to be SD_RECEIVE. SD_BOTH was used instead prior to this patch, and this would occasionally make mysql_shutdown() fail - when the socket for the current connection is not able send the COM_SHUTDOWN response anymore.
This commit is contained in:
parent
a4848e975d
commit
7adf04e237
2 changed files with 4 additions and 3 deletions
|
@ -5086,12 +5086,13 @@ static int my_kill(int pid, int sig)
|
|||
{
|
||||
#ifdef __WIN__
|
||||
HANDLE proc;
|
||||
if ((proc= OpenProcess(PROCESS_TERMINATE, FALSE, pid)) == NULL)
|
||||
if ((proc= OpenProcess(SYNCHRONIZE|PROCESS_TERMINATE, FALSE, pid)) == NULL)
|
||||
return -1;
|
||||
if (sig == 0)
|
||||
{
|
||||
DWORD wait_result= WaitForSingleObject(proc, 0);
|
||||
CloseHandle(proc);
|
||||
return 0;
|
||||
return wait_result == WAIT_OBJECT_0?-1:0;
|
||||
}
|
||||
(void)TerminateProcess(proc, 201);
|
||||
CloseHandle(proc);
|
||||
|
|
|
@ -184,7 +184,7 @@ void vio_end(void);
|
|||
|
||||
/* shutdown(2) flags */
|
||||
#ifndef SHUT_RD
|
||||
#define SHUT_RD SD_BOTH
|
||||
#define SHUT_RD SD_RECEIVE
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue