summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authormsvensson@shellback.(none) <>2006-10-12 17:37:59 +0200
committermsvensson@shellback.(none) <>2006-10-12 17:37:59 +0200
commit1b06c7c78eb9bd929a8b2f8b87499b55de60569f (patch)
tree04d4f7a81776f7c95c6652f1381485e70b3a4a4b /client
parentfe7fce366478576883e3bf8d0b6c385ea15d6e30 (diff)
parentd0d17b4b0a448c761603a0707d89d68440a95882 (diff)
downloadmariadb-git-1b06c7c78eb9bd929a8b2f8b87499b55de60569f.tar.gz
Merge shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
into shellback.(none):/home/msvensson/mysql/mysql-5.0-maint-new
Diffstat (limited to 'client')
-rw-r--r--client/mysql.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/client/mysql.cc b/client/mysql.cc
index 1d7abbbc38a..f845038d6b6 100644
--- a/client/mysql.cc
+++ b/client/mysql.cc
@@ -388,6 +388,21 @@ int main(int argc,char *argv[])
else
status.add_to_history=1;
status.exit_status=1;
+
+ {
+ /*
+ The file descriptor-layer may be out-of-sync with the file-number layer,
+ so we make sure that "stdout" is really open. If its file is closed then
+ explicitly close the FD layer.
+ */
+ int stdout_fileno_copy;
+ stdout_fileno_copy= dup(fileno(stdout)); /* Okay if fileno fails. */
+ if (stdout_fileno_copy == -1)
+ fclose(stdout);
+ else
+ close(stdout_fileno_copy); /* Clean up dup(). */
+ }
+
load_defaults("my",load_default_groups,&argc,&argv);
defaults_argv=argv;
if (get_options(argc, (char **) argv))