Commit Graph

467 Commits

Author SHA1 Message Date
Nick Pelly fa5bf90831 Fix bug where ECONNABORTED would have always occured on asocket_write.
Use POLLOUT for writes. Duh.
2009-05-29 16:10:22 -07:00
Nick Pelly 260f48a917 Helper to perform abortable blocking operations on a socket:
asocket_connect()
   asocket_accept()
   asocket_read()
   asocket_write()
 These calls are similar to the regular syscalls, but can be aborted with:
   asocket_abort()

Calling close() on a regular POSIX socket does not abort blocked syscalls on
that socket in other threads.

After calling asocket_abort() the socket cannot be reused.

Call asocket_destory() *after* all threads have finished with the socket to
finish closing the socket and free the asocket structure.

The helper is implemented by setting the socket non-blocking to initiate
syscalls connect(), accept(), read(), write(), then using a blocking poll()
on both the primary socket and a local pipe. This makes the poll() abortable
by writing a byte to the local pipe in asocket_abort().

asocket_create() sets the fd to non-blocking mode. It must not be changed to
blocking mode.

Using asocket will triple the number of file descriptors required per
socket, due to the local pipe. It may be possible to use a global pipe per
process rather than per socket, but we have not been able to come up with a
race-free implementation yet.

All functions except asocket_init() and asocket_destroy() are thread safe.
2009-05-29 16:10:16 -07:00
San Mehat 3c5a6f0bc8 nexus: Refactor some of the create/remove network path and add code for
retrieving network lists from supplicant
nexus: Rework properties
nexus: Implement wifi network enable/disable and add some error checking
nexus: Add some TODOs
nexus: Whitespace cleanup
nexus: Add bindings between controllers and network interfaces
nexus: Add properties for InterfaceConfig
nexus: Fix a few conversion bugs in InterfaceConfig

Signed-off-by: San Mehat <san@google.com>
2009-05-29 15:26:21 -07:00
San Mehat 192331d906 nexus: Add ListCmd to CommandListener
Signed-off-by: San Mehat <san@google.com>

nexus: Add InterfaceConfig and flesh out some more flow

Signed-off-by: San Mehat <san@google.com>
2009-05-29 15:26:00 -07:00
San Mehat 03f0d27f6c libsysutils: Fix command argument passing bug + whitespace cleanup
Signed-off-by: San Mehat <san@google.com>
2009-05-29 15:25:45 -07:00
Jack Palevich ac0e95eb60 Improve ACC error reporting.
Now return an error code and an error message, rather than just
printing to stderr or calling exit().

Check to see we don't exceed our code size.
2009-05-29 13:53:44 -07:00
Jack Palevich 653f42da92 Pointer-ize the acc front end.
The ACC compiler used to be able to compile itself. This was a neat
feature, but because ACC only supports ints, pointers are stored as
ints, and cast to pointers when used.

This checkin turns many ints that are really pointers back into
pointers, so that the code is clearer.

 int ch;
 char* glo;
 char* sym_stack;
 char* dstk;
 char* dptr;
 int dch;
 char* last_id;
2009-05-29 09:32:14 -07:00
David 'Digit' Turner 730c8d7c03 am ebefc48e: Expose the stable/frozen log-related definitions of <cutils/logd.h> into a new header: <android/log.h>
Merge commit 'ebefc48e61a7d5cf2a3228e6c8729feeeb42d1b4'

* commit 'ebefc48e61a7d5cf2a3228e6c8729feeeb42d1b4':
  Expose the stable/frozen log-related definitions of <cutils/logd.h> into a new header: <android/log.h>
2009-05-29 06:03:27 -07:00
David 'Digit' Turner ebefc48e61 Expose the stable/frozen log-related definitions of <cutils/logd.h> into a new header: <android/log.h>
This is in order to expose the correponding functions in the 1.5 Native Development Kit, to allow
applicative native code to send messages to the log.
2009-05-29 14:45:04 +02:00
Mathias Agopian 1edfd382ba Merge commit 'goog/master' into merge_master 2009-05-27 14:25:54 -07:00
Jack Palevich 09555c7a18 Fix symbol lookup logic, squelch LOG output. 2009-05-27 12:25:55 -07:00
Iliyan Malchev 0675ba5bd4 am fc0182eb: add support and proper permissions for /dev/msm_camera/
Merge commit 'fc0182eb1db0620eb71fb6ca219b15a17dcd912f'

* commit 'fc0182eb1db0620eb71fb6ca219b15a17dcd912f':
  add support and proper permissions for /dev/msm_camera/
2009-05-26 17:53:37 -07:00
Iliyan Malchev fc0182eb1d add support and proper permissions for /dev/msm_camera/
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-05-26 16:45:51 -07:00
Raphael f3cdf37276 Don't compile abort_socket.c for host targets. It is only intended to run on Linux targets. 2009-05-26 13:23:23 -07:00
Android (Google) Code Review cd95bf3ea3 am a4aace71: Merge change 2437 into donut
Merge commit 'a4aace716e76e8e2c2e6e1a807b402256d9924dc'

* commit 'a4aace716e76e8e2c2e6e1a807b402256d9924dc':
  Modify init.goldfish.sh to launch the 'qemu-props' program when the emulator boots up.
2009-05-26 10:11:22 -07:00
Android (Google) Code Review a4aace716e Merge change 2437 into donut
* changes:
  Modify init.goldfish.sh to launch the 'qemu-props' program when the emulator boots up. Its purpose is to receive a list of system property (name,value) pairs and set them on launch.
2009-05-26 08:29:35 -07:00
David 'Digit' Turner 653164b6a0 Modify init.goldfish.sh to launch the 'qemu-props' program when the emulator boots up.
Its purpose is to receive a list of system property (name,value) pairs and set them on launch.
2009-05-26 13:16:59 +02:00
Mike Lockwood 5b043d6182 am 1f546e6d: adb: Allow enabling of device side adbd logging with a persistent system property.
Merge commit '1f546e6d1f6ccd1964336ddf0d8e8b3b11b1e945'

* commit '1f546e6d1f6ccd1964336ddf0d8e8b3b11b1e945':
  adb: Allow enabling of device side adbd logging with a persistent system property.
2009-05-25 15:32:19 -07:00
Mike Lockwood 1f546e6d1f adb: Allow enabling of device side adbd logging with a persistent system property.
To enable logging, set the property persist.adb.trace_mask to a hex value
containing the bitmask for adb_trace_mask (see the TRACE_* enum values in adb.h).
This will result in adb writing log output to a file in /data/adb/
No logging will occur if persist.adb.trace_mask is not set or has a value
that cannot be parsed as a hex integer.
The property is read once only at startup, so you must reboot or restart adbd
for changes in the property to take effect.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-25 18:17:55 -04:00
Mike Lockwood 64c6397b56 am 6a3075c7: adb: Add adbd to the AID_SDCARD_RW group to allow writing to the SD card.
Merge commit '6a3075c78287ea5a7ee7a3c85cde58e894350822'

* commit '6a3075c78287ea5a7ee7a3c85cde58e894350822':
  adb: Add adbd to the AID_SDCARD_RW group to allow writing to the SD card.
2009-05-25 11:32:08 -07:00
Mike Lockwood 6a3075c782 adb: Add adbd to the AID_SDCARD_RW group to allow writing to the SD card.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-25 14:22:58 -04:00
Android (Google) Code Review fc8e241871 am 0469d2c3: Merge change 2282 into donut
Merge commit '0469d2c37adddcb30cb0d88772bef33ac26c6500'

* commit '0469d2c37adddcb30cb0d88772bef33ac26c6500':
  Support for 3rd party USB Vendor IDs in adb.
2009-05-22 15:30:14 -07:00
Android (Google) Code Review 0469d2c37a Merge change 2282 into donut
* changes:
  Support for 3rd party USB Vendor IDs in adb.
2009-05-22 15:28:51 -07:00
Xavier Ducrohet a481d096fe Support for 3rd party USB Vendor IDs in adb.
Vendor IDs are read from ~/.android/adb_usb.ini. The format is very simple:
1 number per line. First number is ID count, followed by the ID themselves.
Lines starting with # are considered comments.

Other misc changes: moved VENDOR_ID_* to usb_vendors.c to prevent direct
access. Made transport_usb.c reuse the USB constant introduced in usb_osx
(moved them to adb.h)
2009-05-22 15:25:25 -07:00
Android (Google) Code Review 121f3b48d6 Merge change 2341
* changes:
  Convert libacc into a shared library.
2009-05-22 12:41:06 -07:00
Jack Palevich 1cdef20774 Convert libacc into a shared library.
Document internal CodeGenerator interface

Move license to a separate license file.

Define a public API for calling libacc.

Update the "acc" test program to use the public API.
Move "main.cpp" and test scripts into the tests subdirectory.
Move test data from tests to tests/data
Remove stale test data.
2009-05-22 12:09:55 -07:00
Android (Google) Code Review 940f7cc5be am 4919d556: Merge change 2135 into donut
Merge commit '4919d556f5473e9b2b6db2b057f0a88d627fb77f'

* commit '4919d556f5473e9b2b6db2b057f0a88d627fb77f':
  nexus: Switch controllers to use abstracted properties and refactor command protocol
2009-05-22 11:25:59 -07:00
Android (Google) Code Review 4cd6e915e5 Merge change 2329
* changes:
  Fix bug where ECONNABORTED would have always occured on asocket_write.
2009-05-22 09:30:24 -07:00
Nick Pelly 111bfcefc3 Fix bug where ECONNABORTED would have always occured on asocket_write.
Use POLLOUT for writes. Duh.
2009-05-22 09:09:34 -07:00
Android (Google) Code Review 4919d556f5 Merge change 2135 into donut
* changes:
  nexus: Switch controllers to use abstracted properties and refactor command protocol
2009-05-22 08:43:08 -07:00
San Mehat 4876567cb9 nexus: Switch controllers to use abstracted properties and refactor command protocol
Also fixes a select() bug and removes debugging

Signed-off-by: San Mehat <san@google.com>

nexus: fix whitespace
2009-05-22 08:40:13 -07:00
Mathias Agopian 67667115c5 merge master to master_gl 2009-05-22 01:08:01 -07:00
Android (Google) Code Review ad3f0d74b4 am 47c73898: Merge change 2166 into donut
Merge commit '47c73898b871143708c6d952481ee3063a59246a'

* commit '47c73898b871143708c6d952481ee3063a59246a':
  add bootanimation service to init.rc
2009-05-21 19:35:03 -07:00
Android (Google) Code Review 47c73898b8 Merge change 2166 into donut
* changes:
  add bootanimation service to init.rc
2009-05-21 19:33:40 -07:00
Mathias Agopian 8b2cf9f04b add bootanimation service to init.rc 2009-05-21 18:45:53 -07:00
Mathias Agopian d2362c2b20 am fee77ec0: don\'t use cdefs.h as it breaks the windows build.
Merge commit 'fee77ec093f78c1bb0ce85aa16d7ee8e8fa06f8a'

* commit 'fee77ec093f78c1bb0ce85aa16d7ee8e8fa06f8a':
  don't use cdefs.h as it breaks the windows build.
2009-05-21 13:11:11 -07:00
Mathias Agopian fee77ec093 don't use cdefs.h as it breaks the windows build. 2009-05-21 13:08:39 -07:00
Xavier Ducrohet 8a88939d64 am a09fbd16: Preparation work for adb to support USB vendor Ids provided by SDK add-ons.
Merge commit 'a09fbd164d2e088bc5433d310e25640ae048d47d'

* commit 'a09fbd164d2e088bc5433d310e25640ae048d47d':
  Preparation work for adb to support USB vendor Ids provided by SDK add-ons.
2009-05-21 11:55:52 -07:00
Xavier Ducrohet a09fbd164d Preparation work for adb to support USB vendor Ids provided by SDK add-ons.
Added usb_vendors.* which handles creating (and deleting) a list of vendor ids.
This list is meant to be used everywhere the built-in lists (usb_osx), or the
built-in vendor IDs (transport_usb)  were used.

For now the list is only built with the built-in VENDOR_ID_*. Next step
is to read a small file created from all the SDK add-on.

Other misc changes: made is_adb_interface present only if ADB_HOST is true
to prevent accessing a list that doesn't exist (usb_vendors is only
compiled for the host version of adb).
2009-05-21 10:18:43 -07:00
Android (Google) Code Review 144a6d9bbf am 463de48f: Merge change 2162 into donut
Merge commit '463de48fb05cb29388e7763f75f6cfa56a2f5cb1'

* commit '463de48fb05cb29388e7763f75f6cfa56a2f5cb1':
  Mount SD card synchronous. This is an experimental change intended to
2009-05-20 22:44:12 -07:00
Android (Google) Code Review 463de48fb0 Merge change 2162 into donut
* changes:
  Mount SD card synchronous. This is an experimental change intended to give us another data point on the system performance regressions that seem to revolved around SD card access.
2009-05-20 19:31:34 -07:00
Dave Sparks 23eaecf02d Mount SD card synchronous. This is an experimental change intended to
give us another data point on the system performance regressions that
seem to revolved around SD card access.
2009-05-20 19:12:58 -07:00
San Mehat e7ada79392 am db017545: libsysutils: const correctness fixes + remove some debugging
Merge commit 'db017545796747115b8797f03e662b0f398a7c7b'

* commit 'db017545796747115b8797f03e662b0f398a7c7b':
  libsysutils: const correctness fixes + remove some debugging
2009-05-20 17:36:18 -07:00
San Mehat 13dee24501 am 2fd9c589: nexus: OpenVPN: Instead of creating / using a configfile, use the new dynamic service argument support so we don\'t need one :)
Merge commit '2fd9c5897aba37847879033dd1cffd345ced93fc'

* commit '2fd9c5897aba37847879033dd1cffd345ced93fc':
  nexus: OpenVPN: Instead of creating / using a configfile, use the new
2009-05-20 17:36:17 -07:00
Android (Google) Code Review df849ca5f8 am a61755e5: Merge change 2077 into donut
Merge commit 'a61755e5fca065dfc89c7639bb672c20a4f9854e'

* commit 'a61755e5fca065dfc89c7639bb672c20a4f9854e':
  move native_handle stuff from master_gl
  adb: adbd no longer disables OOM and now sets children's OOM adjustment to zero
2009-05-20 17:35:56 -07:00
Mathias Agopian 3fc51ba17d move native_handle stuff from master_gl 2009-05-20 17:22:13 -07:00
San Mehat db01754579 libsysutils: const correctness fixes + remove some debugging
Signed-off-by: San Mehat <san@google.com>
2009-05-20 17:16:05 -07:00
San Mehat 2fd9c5897a nexus: OpenVPN: Instead of creating / using a configfile, use the new
dynamic service argument support so we don't need one :)

Signed-off-by: San Mehat <san@google.com>

nexus: fix property max
2009-05-20 17:16:00 -07:00
Android (Google) Code Review a61755e5fc Merge change 2077 into donut
* changes:
  adb: adbd no longer disables OOM and now sets children's OOM adjustment to zero
2009-05-20 16:21:29 -07:00
Nick Pelly 92a7541bce Helper to perform abortable blocking operations on a socket:
asocket_connect()
   asocket_accept()
   asocket_read()
   asocket_write()
 These calls are similar to the regular syscalls, but can be aborted with:
   asocket_abort()

Calling close() on a regular POSIX socket does not abort blocked syscalls on
that socket in other threads.

After calling asocket_abort() the socket cannot be reused.

Call asocket_destory() *after* all threads have finished with the socket to
finish closing the socket and free the asocket structure.

The helper is implemented by setting the socket non-blocking to initiate
syscalls connect(), accept(), read(), write(), then using a blocking poll()
on both the primary socket and a local pipe. This makes the poll() abortable
by writing a byte to the local pipe in asocket_abort().

asocket_create() sets the fd to non-blocking mode. It must not be changed to
blocking mode.

Using asocket will triple the number of file descriptors required per
socket, due to the local pipe. It may be possible to use a global pipe per
process rather than per socket, but we have not been able to come up with a
race-free implementation yet.

All functions except asocket_init() and asocket_destroy() are thread safe.
2009-05-20 15:20:30 -07:00