Commit graph

235 commits

Author SHA1 Message Date
JP Abgrall
408fa57864 adb: fix subprocess exit handling, oom adjust fixes, extra debugging.
* Add support for correctly handling subprocess termination in shell service  (b/3400254 b/3482112 b/2249397)
 - have a waitpid() track the subprocess, then notify the fdevent via a socket
 - force an eof on the pty master in fdevent's new subproc handler.
 - modify fdevent to force-read the pty after an exit.
* Migrate the "shell:blabla" handling to "#if !ADB_HOST" sections, where it
 belongs.
* Fix the race around OOM adjusting.
  - Do it in the child before exec() instead of the in the parent as the
   child could already have started or not (no /proc/pid/... yet).
* Allow for multi-threaded D() invocations to not clobber each other.
  - Allow locks across object files.
  - Add lock within D()
  - Make sure sysdesp init (mutex init also) is called early.
* Add some missing close(fd) calls
  - Match similar existing practices near dup2()
* Add extra D() invocations related to FD handling.
* Warn about using debugging as stderr/stdout is used for protocol.
* Fix some errno handling and make D() correctly handle it.
* Add new adb trace_mask: services.
* Make fdevent_loop's handle BADFDs more gracefully (could occur some subproc closed its pts explicitely).
* Remove obsolete commandline args reported in help. (b/3509092)


Change-Id: I928287fdf4f1a86777e22ce105f9581685f46e35
2011-03-28 14:12:22 -07:00
Terence Haddock
28e1390e68 In serial, skip over port as well if numbers found after colon.
Change-Id: Icd45f570a9527790eb0cd614a3f77da1a72375b1
2011-03-16 09:43:56 +01:00
Ken Sumrall
e3aeeb4de3 Try to unmount writable filesystems when rebooting
Ext4 filesystems like to be unmounted before rebooting.  The Android system
doesn't have a traditional Linux init setup, and shutting down the system
was not much more than calling sync(2) and reboot(2).  This adds a new
function to libcutils called android_reboot().  By default, it calls sync()
and then remounts all writable filesystems as read-only and marks them clean.
There is a flag parameter in which the caller can ask for sync() not to be
called, or to not remount the filesystems as read-only.  Then it will call
reboot(2) as directed by the other parameters.  This change also updates
adb, init and toolbox to call the new android_reboot() function.
Fixes bugs 3350709 and 3495575.

Change-Id: I16d71ffce3134310d7a260f61ec6f4dd204124a7
2011-03-10 18:11:46 -08:00
JP Abgrall
0e7c4274c6 Revert "Fix adb hang when subprocess dies early."
This is for http://b/3482112 "adb interactions with device causing test harness failures".

This reverts commit 69c5c4c45b.

Change-Id: I630bf2e04d2ecf0223bd2af4e87136754ff880d3
2011-02-23 18:49:00 -08:00
JP Abgrall
69c5c4c45b Fix adb hang when subprocess dies early.
* Handling of the subprocess and its FD.
  This fixes http://b/3400254 "Many bugreports getting hung at the end in monkey"
  -  Start up a service thread that waits on the subprocess to terminate,
then closes the FD associated with it.
  -  Have the event handler select() with a timeout so that it can
  detect the closed FD. Select() with no timeout does not return when an FD is closed.
  - Have the event handler force a read on the closed FD to trigger the close sequence.
  - Migrate the "shell:blabla" handling to "#if !ADB_HOST" sections.
* Fix the race around OOM adjusting.
  - Do it in the child before exec() instead of the in the parent as the
   child could already have started or not (no /proc/pid/... yet).
* Allow for multi-threaded D() invocations to not clobber each other.
  - Allow locks across object files.
  - Add lock within D()
* Add some missing close(fd) calls
  - Match similar existing practices near dup2()
* Add extra D() invocations related to FD handling.
* Warn about using debugging as stderr/stdout is used for protocol.

Change-Id: Ie5c4a5e6bfbe3f22201adf5f9a205d32e069bf9d
Signed-off-by: JP Abgrall <jpa@google.com>
2011-02-18 14:16:59 -08:00
Mathias Agopian
0909af57d5 am c1fbf7c1: fix [3374821] Cannot take screenshot of HC preview
* commit 'c1fbf7c1638cb4f1f139edf74562fcfbaa6f3435':
  fix [3374821] Cannot take screenshot of HC preview
2011-02-09 13:22:39 -08:00
Mathias Agopian
c1fbf7c163 fix [3374821] Cannot take screenshot of HC preview
don't hardcode the pixelformat to RGBA_8888 when taking
screenshots.

Change-Id: I3a76b49275acfce9a2994436f521b76310cd8fb2
2011-02-09 12:56:25 -08:00
Mike Lockwood
67afaad585 am d4894f4b: am 034117e4: Merge changes I8df51128,Ie922b3e7,I31f78419,I7e8df44d,I6067857b,Ifd35587c,Ie8d66740
* commit 'd4894f4be608c28ef0f39c7794ba865ac812dff9':
  Fix adb leaking file descriptors to forked processes
  adb: Fix command-line parser.
  adb: Increase device descriptor buffer size in Linux host USB support
  adb: improve debug traces readability.
  adb: Don't report negative number of bytes after pushing file > 2 gigabytes
  Adding Texas Instruments to the VID list.
  Support an additional alias for 'adb shell.'
2011-02-03 12:59:03 -08:00
Benoit Goby
3b4a0c81c4 Fix adb leaking file descriptors to forked processes
accept() creates a new file descriptor that should be closed on exec so
that forked processes don't keep a fd opened on the socket.

This also fixes b/3297070 where adb hangs after running adb on the
target.

Change-Id: I8df511289e5549ae49b4824c9dfb71a3bf85eae8
2011-02-03 15:26:45 -05:00
David 'Digit' Turner
eb5df470e6 adb: Fix command-line parser.
This fixes the command-line parser to accept both "daemon server"
and "server nodaemon". Before the patch, the second string would
ignore the "nodaemon" flag.

Fixes b/2191598

Change-Id: Ie922b3e7bf57a6e334fc448cec33fb340ca6abc4
2011-02-03 15:26:43 -05:00
Mike Lockwood
a5d4694846 adb: Increase device descriptor buffer size in Linux host USB support
256 bytes wasn't big enough for some complicated USB configurations

Change-Id: I31f7841953d73b06958f44040f58166b159faff4
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-03 15:26:41 -05:00
David 'Digit' Turner
3e42db23fb adb: improve debug traces readability.
This patch makes the traces easier to read. For example transports are
displayed by name/serial instead of their hex address.

Change-Id: I7e8df44ddbec19754d63d989bd56485998b4627b
2011-02-03 15:26:37 -05:00
Mike Lockwood
487009ef5e adb: Don't report negative number of bytes after pushing file > 2 gigabytes
BUG: 3198322

Change-Id: I6067857b9490984a21b597f6ee338446a9decaf5
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-03 15:26:35 -05:00
Alex Sakhartchouk
1d3fbed348 Adding Texas Instruments to the VID list.
Change-Id: Ifd35587c93ae7d5c8253f477a92cca2345dc8bb5
2011-02-03 15:26:33 -05:00
Daniel Sandler
9c73d17e87 Support an additional alias for 'adb shell.'
Change-Id: Ie8d667407fef8ee5a6c7ab86b30307fb61869170
2011-02-03 15:26:29 -05:00
Mike Lockwood
b596608f09 adb: Increase device descriptor buffer size in Linux host USB support
256 bytes wasn't big enough for some complicated USB configurations

Change-Id: I31f7841953d73b06958f44040f58166b159faff4
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-07 23:18:14 -05:00
Mike Lockwood
ee878753f9 adb: Don't report negative number of bytes after pushing file > 2 gigabytes
BUG: 3198322

Change-Id: I6067857b9490984a21b597f6ee338446a9decaf5
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-14 23:08:43 -08:00
Alex Sakhartchouk
ffe55f760d Adding Texas Instruments to the VID list.
Change-Id: Ifd35587c93ae7d5c8253f477a92cca2345dc8bb5
2010-12-13 14:26:18 -08:00
Ying Wang
1c061b9ea9 dist for dist_files
Change-Id: I665572a2212f1239b02b7816e37ada210afbdb48
2010-12-09 10:33:27 -08:00
Jean-Baptiste Queru
5fa7fcf89a am 34961b26: am 6713a2e0: Merge "Fix USB endianness bugs on Linux."
Merge commit '34961b266773006ec6643446e7b5a1558d82e4f4'

* commit '34961b266773006ec6643446e7b5a1558d82e4f4':
  Fix USB endianness bugs on Linux.
2010-10-21 13:45:39 -07:00
Jean-Baptiste Queru
5985f6ceee am 89463984: am 81347d27: Merge "adb: Improved detection of big endian architecture"
Merge commit '89463984f5576d7ab61303e08f81eb9175afed59'

* commit '89463984f5576d7ab61303e08f81eb9175afed59':
  adb: Improved detection of big endian architecture
2010-10-21 10:55:02 -07:00
Jean-Baptiste Queru
34961b2667 am 6713a2e0: Merge "Fix USB endianness bugs on Linux."
Merge commit '6713a2e0c659be9d992e75ab420da5680f522658' into gingerbread-plus-aosp

* commit '6713a2e0c659be9d992e75ab420da5680f522658':
  Fix USB endianness bugs on Linux.
2010-10-20 15:33:57 -07:00
Jean-Baptiste Queru
89463984f5 am 81347d27: Merge "adb: Improved detection of big endian architecture"
Merge commit '81347d2764b32ec7224d4e2ab3348103816400b2' into gingerbread-plus-aosp

* commit '81347d2764b32ec7224d4e2ab3348103816400b2':
  adb: Improved detection of big endian architecture
2010-10-20 13:34:01 -07:00
Mike Lockwood
12ddbea0fd am a8b8c0e2: am d02e521d: adb: Add support for Philips\'s USB vendor ID
Merge commit 'a8b8c0e21ac4bdb7838c8c1b8e7d60f632eda79b'

* commit 'a8b8c0e21ac4bdb7838c8c1b8e7d60f632eda79b':
  adb: Add support for Philips's USB vendor ID
2010-10-18 09:32:38 -07:00
Xavier Ducrohet
5ca7509f5b am fa5c690d: am 89aff1d2: Add Asus USB vendor ID to adb.
Merge commit 'fa5c690d93b92ccf57a0522c498ca2076a7ad98d'

* commit 'fa5c690d93b92ccf57a0522c498ca2076a7ad98d':
  Add Asus USB vendor ID to adb.
2010-10-16 09:43:26 -07:00
Marcus Comstedt
6f703a2e85 Fix USB endianness bugs on Linux.
The fields device->idVendor and device->idProduct should not be
converted from little endian to native byteorder, because the
kernel has in fact done so already!

On the other hand, the descriptors read using raw ioctl:s in
register_device() do need to be converted.

Change-Id: I5fe08b626b14ead56a592b68d026690e343c2656
2010-10-16 14:35:34 +02:00
Marcus Comstedt
d340d2f57d adb: Improved detection of big endian architecture
Instead of testing for the (compiler specific) define
__ppc__ explicitly, use the define HAVE_BIG_ENDIAN provided by
AndroidConfig.h.  That way, it should work on all big endian
systems.

Change-Id: Ic4d62afcefce4c8ad5716178ebfcb2b055ac73ce
2010-10-16 14:35:28 +02:00
Mike Lockwood
a8b8c0e21a am d02e521d: adb: Add support for Philips\'s USB vendor ID
Merge commit 'd02e521d79a49471b3f1dc3717e842948df64789' into gingerbread-plus-aosp

* commit 'd02e521d79a49471b3f1dc3717e842948df64789':
  adb: Add support for Philips's USB vendor ID
2010-10-15 18:25:27 -07:00
Mike Lockwood
d02e521d79 adb: Add support for Philips's USB vendor ID
Change-Id: Iaf2e3f6f111198740703b5c3581d95756f797224
Signed-off-by: Mike Lockwood <lockwood@google.com>
2010-10-15 18:14:22 -04:00
Xavier Ducrohet
3b5d79b78c am 1693c32f: am 6c263694: Fix KT Tech\'s usb vendor ID.
Merge commit '1693c32f42e69634b52df1bf827fd81dc3abda46'

* commit '1693c32f42e69634b52df1bf827fd81dc3abda46':
  Fix KT Tech's usb vendor ID.
2010-10-15 14:01:53 -07:00
Xavier Ducrohet
fa5c690d93 am 89aff1d2: Add Asus USB vendor ID to adb.
Merge commit '89aff1d22662c64cc2de384e7e2c699e4d1d5d47' into gingerbread-plus-aosp

* commit '89aff1d22662c64cc2de384e7e2c699e4d1d5d47':
  Add Asus USB vendor ID to adb.
2010-10-15 11:57:14 -07:00
Xavier Ducrohet
89aff1d226 Add Asus USB vendor ID to adb.
Bug: 3099385

Change-Id: Ic068fbf58abd23f4bddfe13ae33854a8b4053cf8
2010-10-15 10:26:50 -07:00
Xavier Ducrohet
1693c32f42 am 6c263694: Fix KT Tech\'s usb vendor ID.
Merge commit '6c2636947c43c2950488d8d82bfc691cb907518d' into gingerbread-plus-aosp

* commit '6c2636947c43c2950488d8d82bfc691cb907518d':
  Fix KT Tech's usb vendor ID.
2010-10-14 11:35:01 -07:00
Xavier Ducrohet
6c2636947c Fix KT Tech's usb vendor ID.
Change-Id: I77a6de8c11d490e2427f704ff64e7c09874a5d14
2010-10-14 10:06:13 -07:00
Benoit Goby
dff0237430 Don't build adb for sdk only builds
Change-Id: I0c56213e81a889fd3a7c5e72c4a6e63544a2a3bd
Signed-off-by: Benoit Goby <benoit@android.com>
2010-10-06 18:30:55 -07:00
Benoit Goby
cb56b712b5 Don't build adb for simulator target
Change-Id: Ibe4ef6bb111dc7123e53262553deb8f5e25e9391
Signed-off-by: Benoit Goby <benoit@android.com>
2010-10-06 17:23:16 -07:00
John Michelau
c318833b35 Build adb for target-as-host
Added a new target for adb, so that the adb
host executable is built for the target as
well. This allows the target to connect to
any Android devices which are attached to it.

Bug: 3022194
Change-Id: Ib01983e70b75cec40a9ee161da7f4cf1343eecf2
2010-10-05 16:08:19 -07:00
Xavier Ducrohet
579ca37361 am 1e3f8f27: am f62b23f2: Add new USB vendor IDs.
Merge commit '1e3f8f2769f9a227fe4d4abfe3d26083e4da91e9'

* commit '1e3f8f2769f9a227fe4d4abfe3d26083e4da91e9':
  Add new USB vendor IDs.
2010-09-28 13:57:56 -07:00
Xavier Ducrohet
1e3f8f2769 am f62b23f2: Add new USB vendor IDs.
Merge commit 'f62b23f2c1540221621024c850fdf615dda0c903' into gingerbread-plus-aosp

* commit 'f62b23f2c1540221621024c850fdf615dda0c903':
  Add new USB vendor IDs.
2010-09-28 10:44:12 -07:00
Xavier Ducrohet
f62b23f2c1 Add new USB vendor IDs.
Change-Id: Ie3b1ee09c67c4c8fdb294cfc99fa28e4ebe8dfae
2010-09-28 09:54:07 -07:00
Mathias Agopian
0715f91223 update adbd to use the new screencap command for taking screenshots.
Change-Id: I02c49240f9db9258824020f3f5f04463e17a537a
2010-09-26 18:44:28 -07:00
Nick Kralevich
9abea13a0a am 4692599c: am 44db990d: Fix bug 2950316. Check return values.
Merge commit '4692599cf73240e34d8e3bf7f54e99ebb9c0aaf3'

* commit '4692599cf73240e34d8e3bf7f54e99ebb9c0aaf3':
  Fix bug 2950316.  Check return values.
2010-08-27 18:10:24 -07:00
Nick Kralevich
4692599cf7 am 44db990d: Fix bug 2950316. Check return values.
Merge commit '44db990d3a4ce0edbdd16fa7ac20693ef601b723' into gingerbread-plus-aosp

* commit '44db990d3a4ce0edbdd16fa7ac20693ef601b723':
  Fix bug 2950316.  Check return values.
2010-08-27 15:28:24 -07:00
Nick Kralevich
44db990d3a Fix bug 2950316. Check return values.
Change-Id: I687bb5fb8195d4c1fc863e32a5e233a8b9e74196
2010-08-27 14:37:11 -07:00
Daniel Sandler
ff91ab855b Support an additional alias for 'adb shell.'
Change-Id: Ie8d667407fef8ee5a6c7ab86b30307fb61869170
2010-08-19 01:10:18 -04:00
Takeshi Kishimoto
91c3853911 Added Toshiba's USB VID (0x0930) upon their request.
Change-Id: I9f7fca6b98b0664ef9af4f7b86f0f5863e91e4c1
2010-07-21 10:21:05 -07:00
Takeshi Kishimoto
81fbbc2d0b Added NEC and PMC's USB VIDs upon their request.
Change-Id: I332ee1e68ff960d41a365aeb96d012253056edd2
2010-07-21 10:20:54 -07:00
Xavier Ducrohet
deafd15f2c am 4309d602: Merge "Added Toshiba\'s USB VID (0x0930) upon their request." into gingerbread
Merge commit '4309d602b562eb9f181b0314837e6096577c6c18' into gingerbread-plus-aosp

* commit '4309d602b562eb9f181b0314837e6096577c6c18':
  Added Toshiba's USB VID (0x0930) upon their request.
2010-07-20 23:55:42 -07:00
The Android Open Source Project
3c5581da1d merge from open-source master
Change-Id: I90bd618ff8c6bcbe1071468e0d75574feee58d27
2010-07-20 10:11:46 -07:00
The Android Open Source Project
02565fec82 merge from open-source master
Change-Id: Ice679e12b8393621b21a8dafe640dd880a09d35e
2010-07-20 10:11:20 -07:00