[X2Go-Commits] x2goserver.git - release/4.0.1.x (branch) updated: 4.0.1.2-1-g95ed41f
X2Go dev team
git-admin at x2go.org
Sat Jun 22 14:31:59 CEST 2013
The branch, release/4.0.1.x has been updated
via 95ed41f7d7cf129ca635fcd78959b9f41db2244c (commit)
from 02ce6b450e39d07617d95e6a334573f3dd31ee8d (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 95ed41f7d7cf129ca635fcd78959b9f41db2244c
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Sat Jun 22 14:31:13 2013 +0200
Improve session status management in x2gocleansessions.
Conflicts (resolved by Mike Gabriel)
debian/changelog
-----------------------------------------------------------------------
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 2798097..a1e4b4b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+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 2a69281..e2a784a 100755
--- a/x2goserver/sbin/x2gocleansessions
+++ b/x2goserver/sbin/x2gocleansessions
@@ -95,13 +95,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");
@@ -116,7 +115,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)
{
@@ -124,11 +124,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};
}
}
@@ -137,22 +138,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");
@@ -167,7 +171,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