summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorunknown <cmiller@zippy.cornsilk.net>2006-10-09 18:54:48 -0400
committerunknown <cmiller@zippy.cornsilk.net>2006-10-09 18:54:48 -0400
commit87ae7cb978dfeb249cdc6c5000d788949d82a665 (patch)
tree2a22d5b12f6a6d0fca3e04c62b0ccb18090bd026 /client
parent28b3dba139383d09f3d9b066b89611d17275e2e4 (diff)
parent6c91170e3f90b73298d40286cdb84e47d8d31c8a (diff)
downloadmariadb-git-87ae7cb978dfeb249cdc6c5000d788949d82a665.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into zippy.cornsilk.net:/home/cmiller/work/mysql/bug17583/my50-bug17583 BitKeeper/etc/collapsed: auto-union client/mysql.cc: Auto merged
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))