57dd5ae1e3004daec664263e24dc4dcf4475bb02 |
|
28-Jan-2016 |
David Pursell <dpursell@google.com> |
adb: fix subprocess termination for legacy shell. http://r.android.com/166419 changed `adb shell` behavior to not allocate a remote PTY for non-interactive commands, but adbd relied on having a PTY to properly terminate the subprocess. One impact of this is that when using older versions of adb or passing the -x flag, `adb screenrecord` wasn't properly terminating and closing out the video file. This CL restores the old behavior for legacy shell connections: always use a PTY, but put it in raw mode if the client is doing local PTY input/output processing itself. Bug: http://b/26742824 Change-Id: I9ee630c0ff0d2d6a0db367387af7123deea79676
/system/core/adb/shell_service_test.cpp
|
4f71319df011d796a60a43fc1bc68e16fbf7d321 |
|
05-Dec-2015 |
Elliott Hughes <enh@google.com> |
Track rename of base/ to android-base/. Change-Id: Idf9444fece4aa89c93e15640de59a91f6e758ccf
/system/core/adb/shell_service_test.cpp
|
18ddf5c6a233bd56d20548fd834c0ecbf8216410 |
|
16-Nov-2015 |
Elliott Hughes <enh@google.com> |
Pass $TERM to the device. Unfortunately, this isn't backwards-compatible with the current shell protocol because we made unknown shell: arguments errors. We could try to commit the change to make them just warnings first, but how would we know when everyone was running adbd with that change? Bumping the protocol version doesn't help because that only affects the code running on the host. And although we could add another feature to the reported features, since shell_v2 is still in development, that doesn't seem worthwhile. Bug: http://b/25601436 Change-Id: I12b81aa656cd25b91d14ef691dcbd2b7dab49535
/system/core/adb/shell_service_test.cpp
|
1ed57f0dc333c0bc0800e222c569cca8a71deb89 |
|
07-Oct-2015 |
David Pursell <dpursell@google.com> |
adb: non-interactive shell stdin. Non-interactive `adb shell` previously only read from the remote shell, but we want it to write as well so interactive and non-interactive shells can both send data. With this CL, we can now do: $ echo foo | adb shell cat foo This is primarily usable with newer devices that support the shell_v2 features. Older devices will receive stdin but the shell will still hang after all input has been sent, requiring user Ctrl+C. This seems better than closing communication altogether which could potentially miss an unpredictable amount of return data by closing too early. Known issue: non-interactive stdin to a PTY shell isn't reliable. However I don't think this is a common case as ssh doesn't seem to handle it properly either. Examples: * echo 'echo foo' | adb shell * echo 'foo' | adb shell -t cat Bug: http://b/24565284 Change-Id: I5b017fd12d8478765bb6e8400ea76d535c24ce42
/system/core/adb/shell_service_test.cpp
|
0955c66b226db7a7f34613f834f7b0a145fd407d |
|
31-Aug-2015 |
David Pursell <dpursell@google.com> |
adb: implement shell protocol. Adds functionality for handling stdin/stdout/stderr streams and exit codes using the shell protocol. This CL just contains implementation for adbd which will not yet be enabled. Once we have the ability to query transport features from the adb client, another CL will add the implementation for the client side and update the feature list to turn this on. Note: this CL must be submitted together with a minadbd CL to update the service_to_fd() function signature. Bug: http://b/23030641 Change-Id: Ibed55e9c1946d8a35190696163ff63e8fb880238
/system/core/adb/shell_service_test.cpp
|