Commit bf4244d1 authored by Sergey Vojtovich's avatar Sergey Vojtovich

MDEV-8540 - Crash on server shutdown since 10.0.16

Only close stdin if it was open initinally. Otherwise we may close file
descriptor which is reused for different puprose (specifically for binlog
index file in case of this bug).
parent cc8772f3
......@@ -5149,6 +5149,9 @@ int win_main(int argc, char **argv)
int mysqld_main(int argc, char **argv)
#endif
{
/* We can't close stdin just now, because it may be booststrap mode. */
bool please_close_stdin= fcntl(STDIN_FILENO, F_GETFD) >= 0;
/*
Perform basic thread library and malloc initialization,
to be able to read defaults files and parse options.
......@@ -5492,7 +5495,9 @@ int mysqld_main(int argc, char **argv)
(char*) "" : mysqld_unix_port),
mysqld_port,
MYSQL_COMPILATION_COMMENT);
fclose(stdin);
/* Only close stdin if it was open initinally. */
if (please_close_stdin)
fclose(stdin);
#if defined(_WIN32) && !defined(EMBEDDED_LIBRARY)
Service.SetRunning();
#endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment