mirror of
https://github.com/ARM-software/devlib.git
synced 2025-01-30 17:50:46 +00:00
Douglas Raillard
47280f63da
connection: Fix race in ParamikoBackgroundCommand API
When using an ssh background command, the data is read from paramiko as it comes and stored in a buffering pipe by a thread. Currently, the ParamikoBackgroundCommand API will report the command as having completed as soon as paramiko reports it. This however does not necessarily mean that the pipe-filling thread is finished copying the streams, and the client will end up assuming there is no more data to read even though it's not the case. Fix that by ensuring that when poll() returns non-None, the output streams are ready to be drained.
devlib ====== ``devlib`` exposes an interface for interacting with and collecting measurements from a variety of devices (such as mobile phones, tablets and development boards) running a Linux-based operating system. Installation ------------ :: sudo -H pip install devlib Dependencies ------------ ``devlib`` should install all dependencies automatically, however if you run into issues please ensure you are using that latest version of pip. On some systems there may additional steps required to install the dependency ``paramiko`` please consult the `module documentation <http://www.paramiko.org/installing.html>`_ for more information. Usage ----- Please refer to the "Overview" section of the `documentation <http://devlib.readthedocs.io/en/latest/>`_. License ------- This package is distributed under `Apache v2.0 License <http://www.apache.org/licenses/LICENSE-2.0>`_. Feedback, Contrubutions and Support ----------------------------------- - Please use the GitHub Issue Tracker associated with this repository for feedback. - ARM licensees may contact ARM directly via their partner managers. - We welcome code contributions via GitHub Pull requests. Please try to stick to the style in the rest of the code for your contributions.
Description
Languages
Python
96%
Shell
1.8%
C
1.4%
Java
0.5%
Dockerfile
0.3%