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