summaryrefslogtreecommitdiff
path: root/client/mysql.cc
diff options
context:
space:
mode:
authorunknown <cmiller@zippy.cornsilk.net>2006-10-09 18:51:02 -0400
committerunknown <cmiller@zippy.cornsilk.net>2006-10-09 18:51:02 -0400
commit7a71766192edfba99685bcd8acb06f795b2e9083 (patch)
tree938d2cdf97f5924099e78141128f7a823185a096 /client/mysql.cc
parentc9970c5b418742395fb01df17397e50c3e7c3d16 (diff)
parent6c91170e3f90b73298d40286cdb84e47d8d31c8a (diff)
downloadmariadb-git-7a71766192edfba99685bcd8acb06f795b2e9083.tar.gz
Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug17583/my50-bug17583
into zippy.cornsilk.net:/home/cmiller/work/mysql/bug17583/my51-bug17583 BitKeeper/etc/collapsed: auto-union client/mysql.cc: Auto merged mysql-test/r/mysql.result: Auto merged mysql-test/t/mysql.test: Auto merged
Diffstat (limited to 'client/mysql.cc')
-rw-r--r--client/mysql.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/client/mysql.cc b/client/mysql.cc
index 1dbdeb8be97..fc26a741632 100644
--- a/client/mysql.cc
+++ b/client/mysql.cc
@@ -386,6 +386,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))