It shouldn't be necessary to actually open the XFS unix socket. If the socket file exists, then XFS is running.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3782 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/unix/vncserver b/unix/vncserver
index 1578a5e..873e8db 100755
--- a/unix/vncserver
+++ b/unix/vncserver
@@ -403,23 +403,20 @@
sub CheckXFS
{
- if (@_ == 1) {
- socket(S, $AF_UNIX, $SOCK_STREAM, 0) || die "$prog: socket failed: $!\n";
- eval 'setsockopt(S, &SOL_SOCKET, &SO_REUSEADDR, pack("l", 1))';
- if (!bind(S, pack('S a108', $AF_UNIX, 7100))) {
- close(S);
- return 0;
+ if ($_[0] == 1) {
+ if (-e "/tmp/.font-unix/fs7100") {
+ return 1;
}
} else {
socket(S, $AF_INET, $SOCK_STREAM, 0) || die "$prog: socket failed: $!\n";
eval 'setsockopt(S, &SOL_SOCKET, &SO_REUSEADDR, pack("l", 1))';
- if (!bind(S, pack('S n a4 x8', $AF_INET, 7100))) {
+ if (!bind(S, pack('S n x12', $AF_INET, 7100))) {
close(S);
- return 0;
+ return 1;
}
}
close(S);
- return 1;
+ return 0;
}
@@ -714,20 +711,16 @@
if (($os eq "SunOS") && ($osrev !~ /^4/)) {
$AF_INET = 2;
$SOCK_STREAM = 2;
- $AF_UNIX = 1;
} else {
$AF_INET = 2;
$SOCK_STREAM = 1;
- $AF_UNIX = 1;
}
} else {
$AF_INET = &AF_INET;
$SOCK_STREAM = &SOCK_STREAM;
- $AF_UNIX = &AF_UNIX;
}
} else {
$AF_INET = &AF_INET;
$SOCK_STREAM = &SOCK_STREAM;
- $AF_UNIX = &AF_UNIX;
}
}