Go to file
Marek Marczykowski-Górecki bd9f1d2e7c
mgmt: add support for cancellable operations
Allow method handler to decide if operation could be cancelled. If yes,
when connection to the qubesd is terminated (and
protocol.connection_lost get called) the operation is cancelled using
standard asyncio method - in which case asyncio.CancelledError is thrown
inside method handler. This needs to be explicitly enabled, because
cancellable methods are much harder to write, to maintain consistent
system state.
Caveat: protocol.connection_lost is called only when trying to send some
data to it (and it's already terminated). Which makes this whole
mechanism useful only for events. Otherwise, when sending some data (and
possibly detecting that connection is broken), the operation is already
completed.

QubesOS/qubes-issues#2622
2017-05-12 14:25:26 +02:00
ci qubespolicy: make pylint happy 2017-04-07 17:07:30 +02:00
contrib contrib: import-graph creates smaller, more readable graph 2016-04-27 17:51:18 +02:00
core Merge remote-tracking branch 'origin/master' into core3-devel 2016-11-30 03:07:39 +01:00
core-modules Merge remote-tracking branch 'origin/master' into core3-devel 2016-11-30 03:07:39 +01:00
dispvm dispvm: error out on saved-cows.tar creation error 2016-08-07 00:41:59 +02:00
doc doc: fix sphinx configuration 2017-05-10 16:10:36 +02:00
etc Replace pool config parsing logic 2016-04-25 07:16:37 +02:00
linux qubespolicy: run GUI code inside user session and expose it as dbus object 2017-04-07 17:07:30 +02:00
qubes mgmt: add support for cancellable operations 2017-05-12 14:25:26 +02:00
qubes-rpc qubes/tools/qvm-features: add tool for managing qvm-features 2016-05-19 03:02:24 +02:00
qubes-rpc-policy Merge branch 'master' into core3-devel 2016-06-13 19:03:46 +02:00
qubespolicy Make pylint happy 2017-04-21 16:57:35 +02:00
qvm-tools Merge remote-tracking branch 'origin/master' into core3-devel 2016-11-30 03:07:39 +01:00
relaxng Update relaxng devices option element 2017-04-15 23:49:00 +02:00
rpm_spec qubespolicy: run GUI code inside user session and expose it as dbus object 2017-04-07 17:07:30 +02:00
templates Migrate DeviceCollection to new API 2017-04-15 18:05:28 +02:00
test-packages add mock libvirtaio module + pylint fixes 2017-04-05 17:06:45 +02:00
tests tests: check '$anyvm' parsing in qrexec policy 2016-11-18 03:15:08 +01:00
.coveragerc add config for coverage.py 2015-10-12 16:40:46 +02:00
.gitignore run-tests: Script for running tests in repo 2016-04-20 13:54:56 +02:00
.pylintrc Remove obsolete options from .pylintrc 2016-07-21 12:21:00 +02:00
.travis.yml travis: switch to Qubes 4.0 repositories 2017-04-21 17:22:20 +02:00
installer.wxs windows/installer: configurable destination directory 2014-11-19 12:50:31 +01:00
LICENSE Added LICENSE 2010-04-05 21:21:27 +02:00
Makefile fix Makefile, setup.py, spec and travis 2017-01-20 18:31:09 +01:00
Makefile.builder windows: installer 2014-11-19 12:50:30 +01:00
README.md README: add travis button 2016-06-16 17:39:38 +02:00
run-tests tests: use python3 by default 2017-03-16 21:10:07 +01:00
setup.cfg Add yapf configuration to setup.cfg 2016-07-21 12:11:34 +02:00
setup.py qubespolicy: run GUI code inside user session and expose it as dbus object 2017-04-07 17:07:30 +02:00
version version 3.2.12 2016-10-30 02:28:41 +02:00

Qubes core, version 3

Build Status

This is development branch of the Qubes OS core. This branch is subject to rebase without warning until further notice.

API documentation is available: https://qubes-core-admin.readthedocs.org/en/latest/.