summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <df@kahlann.erinye.com>2006-12-18 13:44:21 +0100
committerunknown <df@kahlann.erinye.com>2006-12-18 13:44:21 +0100
commite55c9a7ab57ef0a8aeac0bb36ad8f585a52e5432 (patch)
treef4b3d66e9699dfe39f8355cc25c7ec48e69cdc94 /mysql-test
parent5029f2729a76ab85d3a554f9b65f988ed56353c0 (diff)
downloadmariadb-git-e55c9a7ab57ef0a8aeac0bb36ad8f585a52e5432.tar.gz
Use a temporary directory for sockets if the socket path becomes too long.
Diffstat (limited to 'mysql-test')
-rwxr-xr-xmysql-test/mysql-test-run.pl6
1 files changed, 6 insertions, 0 deletions
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index 5002f778da5..397adb9e157 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -58,6 +58,7 @@ $Devel::Trace::TRACE= 0; # Don't trace boring init stuff
use File::Path;
use File::Basename;
use File::Copy;
+use File::Temp qw / tempdir /;
use Cwd;
use Getopt::Long;
use Sys::Hostname;
@@ -1030,6 +1031,11 @@ sub command_line_setup () {
my $sockdir = $opt_tmpdir;
$sockdir =~ s|/+$||;
+ # On some operating systems, there is a limit to the length of a
+ # UNIX domain socket's path far below PATH_MAX, so try to avoid long
+ # socket path names.
+ $sockdir = tempdir(CLEANUP => 1) if ( length($sockdir) > 80 );
+
# Put this into a hash, will be a C struct
$master->[0]=