Tom Cherry
a2bdc2d91e
am f23ef77f
: am 4aa9dbab
: Merge "init: Update readme.txt to reflect recent changes to init."
...
* commit 'f23ef77ffe4700221bc47c70ea1b7f1473d0d902':
init: Update readme.txt to reflect recent changes to init.
2015-09-02 19:48:22 +00:00
Tom Cherry
f23ef77ffe
am 4aa9dbab
: Merge "init: Update readme.txt to reflect recent changes to init."
...
* commit '4aa9dbab6f78a1acae02d39b96fa572fbfc7b6ed':
init: Update readme.txt to reflect recent changes to init.
2015-09-02 19:37:35 +00:00
Tom Cherry
3be66edc59
init: Update readme.txt to reflect recent changes to init.
...
Updates are as follows:
A detailed explanation of event triggers and property triggers
including how they can now be used
A new section describing .rc files, their locations, and the
intentions for each of these locations
A new section describing the import keyword and how it is not a
command but rather its own section
Removal of deprecated or incorrect text
Change-Id: If0a37375ac92a857900f3303ada4ba742360daff
2015-09-01 15:32:33 -07:00
Tom Cherry
af20a7cb12
resolved conflicts for merge of cda81d01
to mnc-dr-dev-plus-aosp
...
Change-Id: I747b279bc49f9f82b8f8859c49b3fc2a4e3b4977
2015-09-01 15:30:56 -07:00
Tom Cherry
cda81d01c6
am 54c70ca1
: Merge "init: Use classes for parsing and clean up memory allocations"
...
* commit '54c70ca15660529466b5b4e091209a20a3e75dff':
init: Use classes for parsing and clean up memory allocations
2015-09-01 21:42:01 +00:00
Tom Cherry
b7349902a9
init: Use classes for parsing and clean up memory allocations
...
Create a Parser class that uses multiple SectionParser interfaces to
handle parsing the different sections of an init rc.
Create an ActionParser and ServiceParser that implement SectionParser
and parse the sections corresponding to Action and Service
classes.
Remove the legacy keyword structure and replace it with std::map's
that map keyword -> (minimum args, maximum args, function pointer) for
Commands and Service Options.
Create an ImportParser that implements SectionParser and handles the
import 'section'.
Clean up the unsafe memory handling of the Action class by using
std::unique_ptr.
Change-Id: Ic5ea5510cb956dbc3f78745a35096ca7d6da7085
2015-09-01 12:26:02 -07:00
Tom Cherry
25c22bb9e7
am 08a6775f
: am 2d8be6c2
: Merge "init: import init rc scripts from file systems after mount_all"
...
* commit '08a6775f8cdadf48e7b5f4f4d710180fda43b2b6':
init: import init rc scripts from file systems after mount_all
2015-08-21 21:47:03 +00:00
Tom Cherry
d64bf33890
am 08a6775f
: am 2d8be6c2
: Merge "init: import init rc scripts from file systems after mount_all"
...
* commit '08a6775f8cdadf48e7b5f4f4d710180fda43b2b6':
init: import init rc scripts from file systems after mount_all
2015-08-21 21:44:37 +00:00
Tom Cherry
c7676b5037
am 54b22ca2
: am ff5be396
: Merge changes from topic \'init-rc-breakup\'
...
* commit '54b22ca2488e4901265c99a42b5c5e0725a99199':
init: Queue Triggers instead of Actions
bundle init.rc contents with its service
2015-08-21 18:24:18 +00:00
Tom Cherry
60eb73ed6a
am 54b22ca2
: am ff5be396
: Merge changes from topic \'init-rc-breakup\'
...
* commit '54b22ca2488e4901265c99a42b5c5e0725a99199':
init: Queue Triggers instead of Actions
bundle init.rc contents with its service
2015-08-21 18:20:22 +00:00
Tom Cherry
b8dd0272e5
init: import init rc scripts from file systems after mount_all
...
Import /{system,vendor,odm}/etc/init/... after file systems are mounted
Bug: 23186545
Change-Id: Idb0cae9773f904c0330054c8b3e31eb87b2fb7cb
2015-08-21 10:14:43 -07:00
Tom Cherry
cb716f976b
init: Queue Triggers instead of Actions
...
When init queues a trigger, it actually enqueues all of the Actions
that match with that given trigger. This works currently because
all init scripts are loaded and therefore all Actions are available
before init starts queueing any triggers.
To support loading init scripts after init has started queueing
triggers, this change enqueues Trigger objects instead of their
matching Actions. Each Trigger object then matches its associated
Actions during its execution.
Additionally, this makes a few cosmetic clean ups related to triggers.
Bug: 23186545
Change-Id: I5d177458e6df1c4b32b1072cf77e87ef952c87e4
2015-08-21 10:14:43 -07:00
Yusuke Sato
2ef82cffad
am d1b11a04
: am e656be33
: Merge "Add |opts| argument to android_fork_execvp_ext"
...
* commit 'd1b11a04903be74ba6a47307d8c3ef2731e3f4ab':
Add |opts| argument to android_fork_execvp_ext
2015-08-19 22:31:08 +00:00
Yusuke Sato
9962b04d00
am d1b11a04
: am e656be33
: Merge "Add |opts| argument to android_fork_execvp_ext"
...
* commit 'd1b11a04903be74ba6a47307d8c3ef2731e3f4ab':
Add |opts| argument to android_fork_execvp_ext
2015-08-19 22:20:29 +00:00
Yusuke Sato
d81c3c6c45
Add |opts| argument to android_fork_execvp_ext
...
to allow the caller to send data to the child's stdin.
Bug: 21725996
Change-Id: I818f5cf61045286c8d64a91b6d50f05740329be1
2015-08-19 11:00:37 -07:00
Yusuke Sato
c52f66b548
am 885400fd
: am 4d09db9d
: Merge "perfboot.py: Add --end-tag option"
...
* commit '885400fdbabf9850bd680725c591cc00f2aa71fe':
perfboot.py: Add --end-tag option
2015-08-18 05:55:34 +00:00
Yusuke Sato
8e9a1ae593
am 885400fd
: am 4d09db9d
: Merge "perfboot.py: Add --end-tag option"
...
* commit '885400fdbabf9850bd680725c591cc00f2aa71fe':
perfboot.py: Add --end-tag option
2015-08-18 05:55:28 +00:00
Yusuke Sato
3966ebb74d
perfboot.py: Add --end-tag option
...
The current behavior, which is to use tags[-1] for end_tag, is good
enough in most cases, but sometime it makes more sense to use a
different one as end_tag.
For example, when optimizing APK scanning code in package manager,
using 'boot_progress_pms_scan_end' as end_tag would give us quicker
benchmark iterations as well as more relevant numbers possibly with
a smaller standard deviation.
Change-Id: Ic6371c936b36d1d87e9742502fd8958682a3b7d5
2015-08-17 22:07:34 -07:00
Nick Kralevich
d717f86a3e
am 64c30a79
: am 084c00b8
: Merge "init: add LOCAL_SANITIZE := integer"
...
* commit '64c30a79def4dc29749a86c00a970243a2a45f1e':
init: add LOCAL_SANITIZE := integer
2015-08-17 01:15:17 +00:00
Nick Kralevich
d7f0a73f8d
am 64c30a79
: am 084c00b8
: Merge "init: add LOCAL_SANITIZE := integer"
...
* commit '64c30a79def4dc29749a86c00a970243a2a45f1e':
init: add LOCAL_SANITIZE := integer
2015-08-17 01:15:05 +00:00
Nick Kralevich
084c00b804
Merge "init: add LOCAL_SANITIZE := integer"
2015-08-16 15:37:35 +00:00
Nick Kralevich
f90b653667
init: add LOCAL_SANITIZE := integer
...
Call abort() on undefined or sketchy integer behavior.
Protects against integer overflow attacks.
Change-Id: If73e6b382f2ee645fec406805739f9684ddbb5f0
2015-08-15 15:24:23 +00:00
Nick Kralevich
38887c50c1
am 51ffedd2
: am 1efef4c4
: Merge "Revert "init: add LOCAL_SANITIZE := integer""
...
* commit '51ffedd264389730a76470408a122589f7ce3488':
Revert "init: add LOCAL_SANITIZE := integer"
2015-08-13 18:27:42 +00:00
Nick Kralevich
1deb03179c
am 51ffedd2
: am 1efef4c4
: Merge "Revert "init: add LOCAL_SANITIZE := integer""
...
* commit '51ffedd264389730a76470408a122589f7ce3488':
Revert "init: add LOCAL_SANITIZE := integer"
2015-08-13 18:27:36 +00:00
Nick Kralevich
1efef4c49d
Merge "Revert "init: add LOCAL_SANITIZE := integer""
2015-08-13 18:15:11 +00:00
Nick Kralevich
c307b5b7f8
Revert "init: add LOCAL_SANITIZE := integer"
...
flounder isn't booting
This reverts commit aea73db1e3
.
Bug: 23166814
Change-Id: I36c811d1ca30e2366066142d9282bb713dae315f
2015-08-13 18:10:50 +00:00
Nick Kralevich
864d4985ed
am 4d74f2cb
: am 0b973da5
: Merge "init: add LOCAL_SANITIZE := integer"
...
* commit '4d74f2cb4c30aaf4dfd176b2f970dbf54e5c697d':
init: add LOCAL_SANITIZE := integer
2015-08-12 19:22:11 +00:00
Nick Kralevich
9ec6fcfe09
am 4d74f2cb
: am 0b973da5
: Merge "init: add LOCAL_SANITIZE := integer"
...
* commit '4d74f2cb4c30aaf4dfd176b2f970dbf54e5c697d':
init: add LOCAL_SANITIZE := integer
2015-08-12 19:21:58 +00:00
Nick Kralevich
0b973da532
Merge "init: add LOCAL_SANITIZE := integer"
2015-08-12 19:09:58 +00:00
Dan Albert
68ff9f2ca2
am e78292f2
: am cef3508b
: Merge "Add missing includes."
...
* commit 'e78292f2c5a1cffd9fdcb76e5be29f6d14445b93':
Add missing includes.
2015-08-12 02:11:05 +00:00
Dan Albert
97a8cd957f
am e78292f2
: am cef3508b
: Merge "Add missing includes."
...
* commit 'e78292f2c5a1cffd9fdcb76e5be29f6d14445b93':
Add missing includes.
2015-08-12 02:10:16 +00:00
Dan Albert
cef3508bb6
Merge "Add missing includes."
2015-08-12 01:50:15 +00:00
Nick Kralevich
aea73db1e3
init: add LOCAL_SANITIZE := integer
...
Call abort() on undefined or sketchy integer behavior.
Protects against integer overflow attacks.
Change-Id: I5f542089753c8fcf7596fd70cfaa48a3caa5b140
2015-08-11 16:55:56 -07:00
Dan Albert
af9ba4dc6c
Add missing includes.
...
Leaky header cleanup in libc++ means we don't get unistd.h
transitively any more.
Change-Id: I596c24eff418302b19afab6ad3caa55f52241e7c
2015-08-11 16:39:57 -07:00
Tom Cherry
9b005a328b
am ba0f24c7
: am 5573e3d8
: Merge "init: replace strdup() in parse_config()"
...
* commit 'ba0f24c71767365ff730b763b9af257bad462809':
init: replace strdup() in parse_config()
2015-08-11 21:05:59 +00:00
Tom Cherry
12e77877e6
am ba0f24c7
: am 5573e3d8
: Merge "init: replace strdup() in parse_config()"
...
* commit 'ba0f24c71767365ff730b763b9af257bad462809':
init: replace strdup() in parse_config()
2015-08-11 21:05:53 +00:00
Tom Cherry
4ad60fbae5
init: replace strdup() in parse_config()
...
Previously, the action, command, and service structs contained char*s
that referenced memory within the buffer returned by the strdup() of
the input buffer of parse_config. This prevented this entire memory
region from being freed, leaking contents that would never be referenced again.
The changes to convert the previous action, command, and service
structs to C++ classes created explicit ownership of the contents within
each class in the form of std::strings. With these changes, there are
no remaining references to the memory allocated by this strdup(), which
can now be freed.
This commit replaces the strdup() with std::vector<char> to allow for
the copied string to be freed when it goes out of scope instead of
relying on the C strdup() and free() functions.
Change-Id: Id0a5f711e33363082ba201afda6b26043998cb1c
2015-08-10 14:26:03 -07:00
Tom Cherry
841066e778
am 4036f5ab
: am 4bf3dc93
: Merge "Create Service and ServiceManager classes"
...
* commit '4036f5ab2ffbe5a2e47d46aa376e9791385cc31b':
Create Service and ServiceManager classes
2015-08-07 21:17:02 +00:00
Tom Cherry
2647d2e70e
am 4036f5ab
: am 4bf3dc93
: Merge "Create Service and ServiceManager classes"
...
* commit '4036f5ab2ffbe5a2e47d46aa376e9791385cc31b':
Create Service and ServiceManager classes
2015-08-07 21:13:04 +00:00
Tom Cherry
4bf3dc9345
Merge "Create Service and ServiceManager classes"
2015-08-07 19:29:58 +00:00
Tom Cherry
bac3299720
Create Service and ServiceManager classes
...
Change-Id: I363a5e4751ad83d2f4096882a6fbbeddca03acfe
2015-08-07 10:16:39 -07:00
Yasuhiro Matsuda
39ac947939
am b84e1f54
: am 50de8224
: Merge "Enable perfboot.py to install APKs before measurement."
...
* commit 'b84e1f540379c6af9ccfc22e779b67f67b8c210a':
Enable perfboot.py to install APKs before measurement.
2015-08-06 12:40:27 +00:00
Yasuhiro Matsuda
fb35b7c463
am 9e2ed7b0
: am 7f2e05e9
: Merge "Fix incorrect exception handling in perfboot.py"
...
* commit '9e2ed7b080bbe0f01fb82d77b30f6d1df372490a':
Fix incorrect exception handling in perfboot.py
2015-08-06 12:40:26 +00:00
Yasuhiro Matsuda
a25e258d65
am b84e1f54
: am 50de8224
: Merge "Enable perfboot.py to install APKs before measurement."
...
* commit 'b84e1f540379c6af9ccfc22e779b67f67b8c210a':
Enable perfboot.py to install APKs before measurement.
2015-08-06 12:40:24 +00:00
Yasuhiro Matsuda
93e060e115
am 9e2ed7b0
: am 7f2e05e9
: Merge "Fix incorrect exception handling in perfboot.py"
...
* commit '9e2ed7b080bbe0f01fb82d77b30f6d1df372490a':
Fix incorrect exception handling in perfboot.py
2015-08-06 12:40:22 +00:00
Yasuhiro Matsuda
50de8224a6
Merge "Enable perfboot.py to install APKs before measurement."
2015-08-06 03:55:04 +00:00
Yasuhiro Matsuda
c0822e83ad
Enable perfboot.py to install APKs before measurement.
...
This CL adds --apk-dir option, which specifies the directory
that contains APK files to be installed before measuring
boot time.
BUG: 22207911
Change-Id: Ifeacf34c779248686443a9ef02485272c140a456
2015-08-06 11:02:17 +09:00
Yasuhiro Matsuda
f3d0d42f1a
Fix incorrect exception handling in perfboot.py
...
RuntimeError used to be missed unintentionally.
BUG: 22207911
Change-Id: I69772350c22fac93d49745c3bc934dda7188bb77
2015-08-05 20:26:03 +09:00
Yasuhiro Matsuda
fdb80810a2
am ee640552
: am 1ada513f
: Merge "Fix perfboot.py to exit by Ctrl+C."
...
* commit 'ee6405527f11010e09a72c4eaf2c47bac170c49c':
Fix perfboot.py to exit by Ctrl+C.
2015-08-05 02:41:02 +00:00
Yasuhiro Matsuda
75c09ba367
am ee640552
: am 1ada513f
: Merge "Fix perfboot.py to exit by Ctrl+C."
...
* commit 'ee6405527f11010e09a72c4eaf2c47bac170c49c':
Fix perfboot.py to exit by Ctrl+C.
2015-08-05 02:39:00 +00:00