[X2Go-Commits] x2goserver.git - master (branch) updated: 3.1.1.3-189-g1c0a9e6

X2Go dev team git-admin at x2go.org
Sat Jun 22 14:31:59 CEST 2013


The branch, master has been updated
       via  1c0a9e6df459e78497da0e618b7e36b85ef0a31c (commit)
      from  3e017b6dd37da6cef42af819d19c6b002ca96358 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 1c0a9e6df459e78497da0e618b7e36b85ef0a31c
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Sat Jun 22 14:31:13 2013 +0200

    Improve session status management in x2gocleansessions.

-----------------------------------------------------------------------

Summary of changes:
 debian/changelog                  |    7 +++++++
 x2goserver/sbin/x2gocleansessions |   26 +++++++++++++++-----------
 2 files changed, 22 insertions(+), 11 deletions(-)

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index ccf0f40..734de12 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -51,6 +51,13 @@ x2goserver (4.1.0.0-0~x2go1) UNRELEASED; urgency=low
 
  -- Reinhard Tartler <siretart at tauware.de>  Thu, 20 Dec 2012 10:15:26 +0100
 
+x2goserver (4.0.1.3-0~x2go1) UNRELEASED; urgency=low
+
+  * New upstream version (4.0.1.3):
+    - Improve session status management in x2gocleansessions.
+
+ -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Sat, 22 Jun 2013 14:30:46 +0200
+
 x2goserver (4.0.1.2-0~x2go1) unstable; urgency=low
 
   * New upstream version (4.0.1.2):
diff --git a/x2goserver/sbin/x2gocleansessions b/x2goserver/sbin/x2gocleansessions
index 6dc9b5d..3c9bbf0 100755
--- a/x2goserver/sbin/x2gocleansessions
+++ b/x2goserver/sbin/x2gocleansessions
@@ -93,13 +93,12 @@ sub catch_term
 }
 
 my $uname;
-#my $serv=$ENV{'HOSTNAME'};
 my $serv = hostname;
 my $pid = fork();
 if (not defined $pid) 
 {
 	print "resources not avilable.\n";
-} 
+}
 elsif ($pid != 0) 
 {
 	open (F,">/var/run/x2goserver.pid");
@@ -114,7 +113,8 @@ elsif ($pid == 0 )
 	$SIG{TERM}=\&catch_term;
 	$SIG{CHLD} = sub { wait };
 
-	my %remembered_sessions = ();
+	my %remembered_sessions_status = ();
+	my %remembered_sessions_since = ();
 
 	while(sleep 2)
 	{
@@ -122,11 +122,12 @@ elsif ($pid == 0 )
 		my @outp=split("\n","$outp");
 
 		# forget earlier remembered blocked sessions
-		while ( my ($session, $remembered_time) = each(%remembered_sessions) )
+		while ( my ($session, $remembered_since) = each(%remembered_sessions_since) )
 		{
 			if (! join(',', @outp)=~m/$session/)
 			{
-				delete $remembered_sessions{$session};
+				delete $remembered_sessions_status{$session};
+				delete $remembered_sessions_since{$session};
 			}
 		}
 
@@ -135,22 +136,25 @@ elsif ($pid == 0 )
 
 			my @sinfo=split('\\|',"@outp[$i]");
 
-			if (defined $remembered_sessions{ @sinfo[1] })
+			if (defined $remembered_sessions_since{ @sinfo[1] } && ($remembered_sessions_status{ @sinfo[1] } =~m/@sinfo[4]/ ))
 			{
-				$remembered_sessions{ @sinfo[1] } += 2;
+				$remembered_sessions_since{ @sinfo[1] } += 2;
 			} else {
-				$remembered_sessions{ @sinfo[1] } = 0;
+				$remembered_sessions_status{ @sinfo[1] } = @sinfo[4];
+				$remembered_sessions_since{ @sinfo[1] } = 0;
 			}
 
+			#print @sinfo[1], ': ', $remembered_sessions_since{@sinfo[1]},' ',$remembered_sessions_status{@sinfo[1]},"\n";
+
 			if (@sinfo[4]eq 'F')
 			{
 				syslog('debug', "@sinfo[1] is blocked");
-				if ($remembered_sessions{@sinfo[1]} ge 20)
+				if ($remembered_sessions_since{@sinfo[1]} ge 20)
 				{
 					# send SIGKILL to dangling X-server processes
 					syslog('warning', "@sinfo[1]: found stale X-server process (@sinfo[0]), sending SIGKILL");
 					qw(kill -9 @sinfo[0]);
-					delete $remembered_sessions{@sinfo[1]};
+					delete $remembered_sessions_since{@sinfo[1]};
 				}
 				syslog('debug', "@sinfo[1]: unmounting all shares");
 				system( "su @sinfo[11] -c \"export HOSTNAME && x2goumount-session @sinfo[1]\" 2> /dev/null");
@@ -165,7 +169,7 @@ elsif ($pid == 0 )
 			}
 			else
 			{ 
-				if ( (@sinfo[4] eq 'R') && ( $remembered_sessions{ @sinfo[1] } ge 2 ))
+				if ( (@sinfo[4] eq 'R') && ( $remembered_sessions_since{ @sinfo[1] } ge 2 ))
 				{
 					if (is_suspended(@sinfo[1], at sinfo[11]))
 					{


hooks/post-receive
-- 
x2goserver.git (X2Go Server)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "x2goserver.git" (X2Go Server).




More information about the x2go-commits mailing list