]> git.proxmox.com Git - pve-manager-legacy.git/commitdiff
fix surviving update store
authorDominik Csapak <d.csapak@proxmox.com>
Mon, 4 Jul 2016 11:16:10 +0000 (13:16 +0200)
committerFabian Grünbichler <f.gruenbichler@proxmox.com>
Thu, 7 Jul 2016 06:15:14 +0000 (08:15 +0200)
when a load of an update store was ongoing and stopUpdate
was called, the task could not be canceled, and the store
would remain indefinitely

this patch sets 'isStopped' of the store on stopUpdate
and checks it on the next update and stopping it then

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
www/manager6/data/UpdateStore.js

index 7208a4f8e69044011935962ab757ff06cb78c5b3..6be363039204bb5f6ae524ffd00d065ff3e066f2 100644 (file)
@@ -10,6 +10,8 @@
 Ext.define('PVE.data.UpdateStore', {
     extend: 'Ext.data.Store',
 
+    isStopped: true,
+
     constructor: function(config) {
        var me = this;
 
@@ -26,6 +28,10 @@ Ext.define('PVE.data.UpdateStore', {
        var load_task = new Ext.util.DelayedTask();
 
        var run_load_task = function() {
+           if (me.isStopped) {
+               return;
+           }
+
            if (PVE.Utils.authOK()) {
                PVE.data.UpdateQueue.queue(me, function(runtime, success) {
                    var interval = config.interval + runtime*2;
@@ -38,9 +44,11 @@ Ext.define('PVE.data.UpdateStore', {
 
        Ext.apply(config, {
            startUpdate: function() {
+               me.isStopped = false;
                run_load_task();
            },
            stopUpdate: function() {
+               me.isStopped = true;
                load_task.cancel();
                PVE.data.UpdateQueue.unqueue(me);
            }