[virt-manager PATCH v2 0/6] Set guest time asynchronously

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Cole,

here's an updated series that reworks the time setting into a separate
thread.

>         while self._thread and self._thread.isAlive():
>            self._do_cancel = True
>        self._do_cancel = False

I've replaced that construct with threading.Event and threading.Thread.join():

+        self._do_cancel.set()
+        # thread may be in a loop waiting for an agent to come online or just
+        # waiting for a set time operation to finish
+        self._thread.join()
+        self._thread = None
+        self._do_cancel.clear()

With either I'm not sure what the fallout would be if the thread took
very long to terminate for whatever reason. I guess, the async job
dialog would stay on screen until it does. I can't think of any reaosn
why it wouldn't terminate though.

> You could probably do this refactoring first with the existing code,
> then second commit adds the thread usage. First pass stop() would be empty.

I've done my best to keep the individual patches contained, particularly
to have a refactor patch that just moves code but does not change
semantics. Let me know if there's anything that should be improved
still.

I've also added a final patch that wires up stopping of the time setting
operation in actions where it doesn't make any sense any more to
continue trying. I'm not too sure about e.g. migrate but just went with
all that also set self._install_abort plus suspend.

Michael Weiser (6):
  virtManager: object: domain: Simplify agent ready check
  virtManager: object: domain: Refactor guest time setting
  virtManager: object: domain: Spawn thread for set time
  virtManager: object: domain: Add timeout config
  virtManager: object: domain: Increase set time timeout
  virtManager: object: domain: Stop set time thread

 virtManager/object/domain.py | 149 +++++++++++++++++++++++++++--------
 1 file changed, 116 insertions(+), 33 deletions(-)

-- 
2.24.1


_______________________________________________
virt-tools-list mailing list
virt-tools-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/virt-tools-list




[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux