mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-17 22:11:30 +00:00
xmlhttp sometimes get stuck in main loop: workaround
This commit is contained in:
13
tt-rss.js
13
tt-rss.js
@@ -8,6 +8,7 @@ var current_subtitle = "";
|
|||||||
var daemon_enabled = false;
|
var daemon_enabled = false;
|
||||||
var _qfd_deleted_feed = 0;
|
var _qfd_deleted_feed = 0;
|
||||||
var firsttime_update = true;
|
var firsttime_update = true;
|
||||||
|
var last_refetch = 0;
|
||||||
|
|
||||||
/*@cc_on @*/
|
/*@cc_on @*/
|
||||||
/*@if (@_jscript_version >= 5)
|
/*@if (@_jscript_version >= 5)
|
||||||
@@ -102,6 +103,10 @@ function refetch_callback() {
|
|||||||
if (xmlhttp.readyState == 4) {
|
if (xmlhttp.readyState == 4) {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
var date = new Date();
|
||||||
|
|
||||||
|
last_refetch = date.getTime() / 1000;
|
||||||
|
|
||||||
if (!xmlhttp.responseXML) {
|
if (!xmlhttp.responseXML) {
|
||||||
notify("refetch_callback: backend did not return valid XML");
|
notify("refetch_callback: backend did not return valid XML");
|
||||||
return;
|
return;
|
||||||
@@ -207,11 +212,19 @@ function scheduleFeedUpdate(force) {
|
|||||||
|
|
||||||
debug("in scheduleFeedUpdate");
|
debug("in scheduleFeedUpdate");
|
||||||
|
|
||||||
|
var date = new Date();
|
||||||
|
|
||||||
|
if (!xmlhttp_ready(xmlhttp) && last_refetch < date.getTime() / 1000 - 60) {
|
||||||
|
debug("xmlhttp seems to be stuck, aborting");
|
||||||
|
xmlhttp.abort();
|
||||||
|
}
|
||||||
|
|
||||||
if (xmlhttp_ready(xmlhttp)) {
|
if (xmlhttp_ready(xmlhttp)) {
|
||||||
xmlhttp.open("GET", query_str, true);
|
xmlhttp.open("GET", query_str, true);
|
||||||
xmlhttp.onreadystatechange=refetch_callback;
|
xmlhttp.onreadystatechange=refetch_callback;
|
||||||
xmlhttp.send(null);
|
xmlhttp.send(null);
|
||||||
} else {
|
} else {
|
||||||
|
debug("xmlhttp busy");
|
||||||
printLockingError();
|
printLockingError();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user