summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirbhay Choubey <nirbhay@mariadb.com>2015-06-24 23:25:22 -0400
committerNirbhay Choubey <nirbhay@mariadb.com>2015-06-24 23:25:22 -0400
commit9f00950d2ad9be5533e66a5fa87a795a9574585f (patch)
treed156ddb92108aa5982ecb7dce7e9458c843dc617
parent0f4478105f5027ce589a0f08c6019d906d632029 (diff)
downloadmariadb-git-9f00950d2ad9be5533e66a5fa87a795a9574585f.tar.gz
MDEV-7631 : Invalid WSREP_SST rows appear in mysqld-bin.index file
Try not to release 0 (STDIN_FILENO) file descriptor as it can incorrectly get reused by streams opened later.
-rw-r--r--sql/mysqld.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index c297367b1af..a2fe4ade42b 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -6278,7 +6278,14 @@ int mysqld_main(int argc, char **argv)
(char*) "" : mysqld_unix_port),
mysqld_port,
MYSQL_COMPILATION_COMMENT);
- fclose(stdin);
+
+ // try to keep fd=0 busy
+ if (!freopen(IF_WIN("NUL","/dev/null"), "r", stdin))
+ {
+ // fall back on failure
+ fclose(stdin);
+ }
+
#if defined(_WIN32) && !defined(EMBEDDED_LIBRARY)
Service.SetRunning();
#endif