[PATCH 1/3] gitweb.js: No need for inProgress in blame_incremental.js
From: Jakub Narebski <hidden>
Date: 2016-06-15 22:51:20
Subsystem:
the rest · Maintainer:
Linus Torvalds
JavaScript is single-threaded, so there is no need for protection against re-entrancy via inProgress variable. In particular calls to setInterval handler are stacked if handler doesn't finish before new interrupt (before new interval). The same happens with events - they are (hopefully) stacked if even handler didn't finish work. Signed-off-by: Jakub Narebski <redacted> --- Remove and simplify code. gitweb/static/js/blame_incremental.js | 21 +++------------------ 1 files changed, 3 insertions(+), 18 deletions(-)
diff --git a/gitweb/static/js/blame_incremental.js b/gitweb/static/js/blame_incremental.js
index 676da6b..4841805 100644
--- a/gitweb/static/js/blame_incremental.js
+++ b/gitweb/static/js/blame_incremental.js@@ -420,8 +420,6 @@ function handleLine(commit, group) { // ---------------------------------------------------------------------- -var inProgress = false; // are we processing response - /**#@+ * @constant */
@@ -536,7 +534,7 @@ function processData(unprocessed, nextReadPos) { * * @param {XMLHttpRequest} xhr: XMLHttpRequest object * - * @globals pollTimer, commits, inProgress + * @globals pollTimer, commits */ function handleError(xhr) { errorInfo('Server error: ' +
@@ -544,8 +542,6 @@ function handleError(xhr) { clearInterval(pollTimer); commits = {}; // free memory - - inProgress = false; } /**
@@ -553,7 +549,7 @@ function handleError(xhr) { * * @param {XMLHttpRequest} xhr: XMLHttpRequest object (unused) * - * @globals pollTimer, commits, inProgress + * @globals pollTimer, commits */ function responseLoaded(xhr) { clearInterval(pollTimer);
@@ -561,15 +557,13 @@ function responseLoaded(xhr) { fixColorsAndGroups(); writeTimeInterval(); commits = {}; // free memory - - inProgress = false; } /** * handler for XMLHttpRequest onreadystatechange event * @see startBlame * - * @globals xhr, inProgress + * @globals xhr */ function handleResponse() {
@@ -609,13 +603,6 @@ function handleResponse() { return; } - // in case we were called before finished processing - if (inProgress) { - return; - } else { - inProgress = true; - } - // extract new whole (complete) lines, and process them while (xhr.prevDataLength !== xhr.responseText.length) { if (xhr.readyState === 4 &&
@@ -633,8 +620,6 @@ function handleResponse() { xhr.prevDataLength === xhr.responseText.length) { responseLoaded(xhr); } - - inProgress = false; } // ============================================================
--
1.7.5