This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch release/4.0.1.x in repository x2goserver. from eff9f17 x2goserver/sbin/x2gocleansessions: add @remembered_finished_sessions array. new a828f15 x2goserver/sbin/x2gocleansessions: don't add failed/finished sessions to remembered list if that list already includes them. new f1a8718 x2goserver/sbin/x2gocleansessions: don't use gmtime (time ()) but merely time (). new ae239e9 x2goserver/sbin/x2gocleansessions: add debugging output to show the state change when updating the cached state result. The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: debian/changelog | 9 +++++++++ x2goserver/sbin/x2gocleansessions | 15 ++++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/4.0.1.x in repository x2goserver. commit f1a8718773847f982cb20363dff847145498b09e Author: Mihai Moldovan <ionic@ionic.de> Date: Tue Jun 23 15:49:10 2015 +0200 x2goserver/sbin/x2gocleansessions: don't use gmtime (time ()) but merely time (). The former one returns a formatted date-time string, which can't be checked by forming a difference. The latter one returns an UNIX timestamp, which is what we really want... minus leap seconds. Let's hope this doesn't bite back some time or later... --- debian/changelog | 5 +++++ x2goserver/sbin/x2gocleansessions | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index b8bcf5a..6c2fc2b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -53,6 +53,11 @@ x2goserver (4.0.1.20-0x2go1) UNRELEASED; urgency=low array. Only delete elements once work on these has been finished. - x2goserver/sbin/x2gocleansessions: don't add failed/finished sessions to remembered list if that list already includes them. + - x2goserver/sbin/x2gocleansessions: don't use gmtime (time ()) but merely + time (). The former one returns a formatted date-time string, which + can't be checked by forming a difference. The latter one returns an UNIX + timestamp, which is what we really want... minus leap seconds. Let's + hope this doesn't bite back some time or later... * 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 c4da48c..fa8c6f6 100755 --- a/x2goserver/sbin/x2gocleansessions +++ b/x2goserver/sbin/x2gocleansessions @@ -187,7 +187,7 @@ elsif ($pid == 0 ) # Clean up invalid sessions (i.e., those for which no nxagent process is running anymore) # from the session database, if the status didn't change for more than 10 seconds. - if ((!@sinfo[0]) && (defined ($remembered_sessions_status_since_time{@sinfo[1]})) && ((gmtime (time) - $remembered_sessions_status_since_time{@sinfo[1]}) >= 10)) + if ((!@sinfo[0]) && (defined ($remembered_sessions_status_since_time{@sinfo[1]})) && ((time () - $remembered_sessions_status_since_time{@sinfo[1]}) >= 10)) { dbsys_rmsessionsroot(@sinfo[1]); next; @@ -205,7 +205,7 @@ elsif ($pid == 0 ) # 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]; - $remembered_sessions_status_since_time{@sinfo[1]} = gmtime (time); + $remembered_sessions_status_since_time{@sinfo[1]} = time (); $remembered_sessions_status_since_iterations{@sinfo[1]} = 0; } else { @@ -226,7 +226,7 @@ elsif ($pid == 0 ) } # Kill the process if blocked for more than 20 seconds. - if ((gmtime (time) - $remembered_sessions_status_since_time{@sinfo[1]}) >= 20) + if ((time () - $remembered_sessions_status_since_time{@sinfo[1]}) >= 20) { syslog ('debug', "@sinfo[1]: blocked for more than 20 seconds."); # send SIGKILL to dangling X-server processes -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/4.0.1.x in repository x2goserver. commit a828f15d920eb3401cfff6be4832ada4f89dd437 Author: Mihai Moldovan <ionic@ionic.de> Date: Tue Jun 23 15:40:17 2015 +0200 x2goserver/sbin/x2gocleansessions: don't add failed/finished sessions to remembered list if that list already includes them. --- debian/changelog | 2 ++ x2goserver/sbin/x2gocleansessions | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 1d6914c..b8bcf5a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -51,6 +51,8 @@ x2goserver (4.0.1.20-0x2go1) UNRELEASED; urgency=low array. Merge with session list as queried from the database (won't include finished/failed sessions) and remember F-state sessions via this array. Only delete elements once work on these has been finished. + - x2goserver/sbin/x2gocleansessions: don't add failed/finished sessions to + remembered list if that list already includes them. * 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 73c04d4..c4da48c 100755 --- a/x2goserver/sbin/x2gocleansessions +++ b/x2goserver/sbin/x2gocleansessions @@ -218,8 +218,12 @@ elsif ($pid == 0 ) if (@sinfo[4] eq 'F') { - syslog ('debug', "@sinfo[1]: is blocked, adding to finished list."); - push (@remembered_finished_sessions, join ('|', @sinfo)); + syslog ('debug', "@sinfo[1]: is blocked."); + # Only add to finished list if it isn't in there already. + if (!(grep { ((defined ($_)) && ($_ =~ m/\Q@sinfo[1]\E/)) } @remembered_finished_sessions)) { + syslog ('debug', "@sinfo[1]: adding to finished list."); + push (@remembered_finished_sessions, join ('|', @sinfo)); + } # Kill the process if blocked for more than 20 seconds. if ((gmtime (time) - $remembered_sessions_status_since_time{@sinfo[1]}) >= 20) -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/4.0.1.x in repository x2goserver. commit ae239e9409023b2c30610a2e3d2c0df287596786 Author: Mihai Moldovan <ionic@ionic.de> Date: Tue Jun 23 18:42:18 2015 +0200 x2goserver/sbin/x2gocleansessions: add debugging output to show the state change when updating the cached state result. --- debian/changelog | 2 ++ x2goserver/sbin/x2gocleansessions | 1 + 2 files changed, 3 insertions(+) diff --git a/debian/changelog b/debian/changelog index 6c2fc2b..ed9d335 100644 --- a/debian/changelog +++ b/debian/changelog @@ -58,6 +58,8 @@ x2goserver (4.0.1.20-0x2go1) UNRELEASED; urgency=low can't be checked by forming a difference. The latter one returns an UNIX timestamp, which is what we really want... minus leap seconds. Let's hope this doesn't bite back some time or later... + - x2goserver/sbin/x2gocleansessions: add debugging output to show the + state change when updating the cached state result. * 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 fa8c6f6..4fb846d 100755 --- a/x2goserver/sbin/x2gocleansessions +++ b/x2goserver/sbin/x2gocleansessions @@ -196,6 +196,7 @@ elsif ($pid == 0 ) # 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)) { + syslog ('debug', "@sinfo[1]: updating session status from '@sinfo[4]' to '$current_status'."); @sinfo[4] = $current_status; } else { -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git