Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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).
  • Loading branch information
Sergey Vojtovich committed Jun 27, 2018
1 parent cc8772f commit bf4244d
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion sql/mysqld.cc
Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit bf4244d

Please sign in to comment.