Commit 4a98f36e authored by df@kahlann.erinye.com's avatar df@kahlann.erinye.com

Use a temporary directory for sockets if the socket path becomes too long.

parent c4676b69
...@@ -58,6 +58,7 @@ $Devel::Trace::TRACE= 0; # Don't trace boring init stuff ...@@ -58,6 +58,7 @@ $Devel::Trace::TRACE= 0; # Don't trace boring init stuff
use File::Path; use File::Path;
use File::Basename; use File::Basename;
use File::Copy; use File::Copy;
use File::Temp qw / tempdir /;
use Cwd; use Cwd;
use Getopt::Long; use Getopt::Long;
use Sys::Hostname; use Sys::Hostname;
...@@ -1030,6 +1031,11 @@ sub command_line_setup () { ...@@ -1030,6 +1031,11 @@ sub command_line_setup () {
my $sockdir = $opt_tmpdir; my $sockdir = $opt_tmpdir;
$sockdir =~ s|/+$||; $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 # Put this into a hash, will be a C struct
$master->[0]= $master->[0]=
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment