[X2Go-Dev] Bug#543: x2golistdesktops locks up if xwininfo does

Gregory R. Warnes greg at warnes.net
Wed Jul 9 23:57:09 CEST 2014


Package:  x2godesktopsharing
Version: 3.1.1.1-0~131~ubuntu12


Hi,  my server had a ‘weird’ file in /tmp/.X11-unix/ for which xwininfo would never return, locking up x2golistdesktops.

The solution is to provide a timeout for the shell call to xwininfo.  This can be accomplished either using the shell command ‘timeout’ or the Perl IPC::Run module (as described in the first response to http://stackoverflow.com/questions/16918005/time-out-when-using-system-cmd-in-perl).

For my purpose, I’ve used the shell timeout command. Patch below.

-Greg


--- /usr/bin/x2golistdesktops	2014-04-03 10:14:22.000000000 -0500
+++ x2golistdesktops	2014-07-09 16:43:54.000000000 -0500
@@ -43,7 +43,7 @@
 	$serv=hostname;
 }

-my $rsess=`x2golistsessions x2goserver |grep _stR`;
+my $rsess=`timeout 1s x2golistsessions x2goserver |grep _stR`;
 my @rsess=split("\n","$rsess");
 my @rdisplays;
 for (my $i=0;$i<@rsess;$i++)
@@ -67,7 +67,7 @@
 	$checkdisp="${checkdisp}I";
 	if (!( $rdisp =~ m/$checkdisp/ ))
 	{
-		my $inf=`xwininfo -root -display $display 2> /dev/null`;
+		my $inf=`timeout 1s xwininfo -root -display $display 2> /dev/null`;
 		if ( $inf=~ m/geometry/)
 		{
 			print "$uname\@$display\n";
@@ -88,4 +88,4 @@
 }

 # closing syslog
-closelog;
\ No newline at end of file
+closelog;
w


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x2go.org/pipermail/x2go-dev/attachments/20140709/309afa5d/attachment.html>


More information about the x2go-dev mailing list