This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2goserver. commit 83938824491fb724beec51847b8f4a44e8456670 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Jun 22 23:48:45 2015 +0200 x2goserver/sbin/x2gocleansessions: move up session status sync a bit, don't update session state when session has been removed from the database. Cherry-picked from release/4.0.1.x branch. --- debian/changelog | 3 +++ x2goserver/sbin/x2gocleansessions | 12 +++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 01393c3..9fdff27 100644 --- a/debian/changelog +++ b/debian/changelog @@ -206,6 +206,9 @@ x2goserver (4.0.1.20-0x2go1) UNRELEASED; urgency=low - x2goserver/sbin/x2gocleansessions: give suspended-but-running sessions a grace period of one iteration. Fixes: #888. - x2goserver/sbin/x2gocleansessions: fix ugly missing whitespace. + - x2goserver/sbin/x2gocleansessions: move up session status sync a bit, + don't update session state when session has been removed from the + database. * x2goserver.spec: - Add sudo and logcheck as BuildRequires and Requires. Don't own directories that are owned by sudo and logcheck. Logcheck is not diff --git a/x2goserver/sbin/x2gocleansessions b/x2goserver/sbin/x2gocleansessions index 1d67b4c..38f62ed 100755 --- a/x2goserver/sbin/x2gocleansessions +++ b/x2goserver/sbin/x2gocleansessions @@ -183,6 +183,15 @@ elsif ($pid == 0 ) next; } + # Update current status once per session. Avoids race conditions. + my $current_status = system_capture_stdout_output ("$x2go_lib_path/x2gogetstatus", "@sinfo[1]"); + if (length ($current_status)) { + @sinfo[4] = $current_status; + } + else { + log_message ('debug', "@sinfo[1]: removed from database, not updating status."); + } + # Record the status of either previously unseen or status-changing sessions and the current time. if (!(defined ($remembered_sessions_status_since_time{@sinfo[1]})) || ($remembered_sessions_status{@sinfo[1]} !~ m/@sinfo[4]/)) { $remembered_sessions_status{@sinfo[1]} = @sinfo[4]; @@ -197,9 +206,6 @@ elsif ($pid == 0 ) #print @sinfo[1], ': ', $remembered_sessions_status_since_time{@sinfo[1]},' (' , $remembered_sessions_status_since_iterations{@sinfo[1]} ,'iterations) ',$remembered_sessions_status{@sinfo[1]},"\n"; - # Update current status once per session. Avoids race conditions. - @sinfo[4] = system_capture_stdout_output ("$x2go_lib_path/x2gogetstatus", "@sinfo[1]"); - if (@sinfo[4] eq 'F') { log_message('debug', "@sinfo[1] is blocked"); -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git