50bd9f5fab
When data block is smaller than 4096 (and no EOF is reached), python's io.read() will call read(2) again to get more data. This may deadlock if the other end of connection will write anything only after receiveing data (which is the case for qubes.Filecopy). Disable this buffering by using syscall wrappers directly. To not affect performance that much, increase buffer size to 64k. Fixes QubesOS/qubes-issues#2948 |
||
---|---|---|
ci | ||
debian | ||
doc | ||
etc | ||
qubesadmin | ||
rpm_spec | ||
test-packages | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
Makefile | ||
Makefile.builder | ||
README.md | ||
run-tests | ||
setup.py | ||
version |
This is client side implementation of Qubes Admin API. See https://www.qubes-os.org/doc/admin-api/ for protocol specification.
Compatibility
Most of the API modules are compatible with Python >= 2.7. Very few parts require Python >= 3.4:
- tools (
qvm-*
) - qubesadmin.events module (for asyncio module)
Parts not compatible with Python < 3.4, are not installed in such environment.