[X2Go-Commits] x2goserver.git - build-baikal (branch) updated: 3.1.1.3-189-g1c0a9e6
X2Go dev team
git-admin at x2go.org
Fri Jan 3 18:05:12 CET 2014
The branch, build-baikal 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 -----------------------------------------------------------------
-----------------------------------------------------------------------
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