History log of /system/core/logwrapper/logwrap.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f336c514f45a8aa78dd1e1bd7c7590909ce9b012 22-Aug-2015 Yusuke Sato <yusukes@google.com> am eaf04aa0: am 3b94cef1: Merge "Add FORK_EXECVP_OPTION_CAPTURE_OUTPUT to logwrap.h"

* commit 'eaf04aa0986e069a2ccffb69b94f1e4d6ad6726c':
Add FORK_EXECVP_OPTION_CAPTURE_OUTPUT to logwrap.h
7980426a6ffb35567c8a7b83fe0acef2c3033bd4 20-Aug-2015 Yusuke Sato <yusukes@google.com> Add FORK_EXECVP_OPTION_CAPTURE_OUTPUT to logwrap.h

This allows raw popen calls in e.g. system/netd/ to be replaced
with android_fork_execvp_ext().

Change-Id: I159ece7369fa38ff8782024bef0d7cfafe74ecee
/system/core/logwrapper/logwrap.c
9962b04d00d6ee16f347637784049a35548c3f2d 20-Aug-2015 Yusuke Sato <yusukes@google.com> am d1b11a04: am e656be33: Merge "Add |opts| argument to android_fork_execvp_ext"

* commit 'd1b11a04903be74ba6a47307d8c3ef2731e3f4ab':
Add |opts| argument to android_fork_execvp_ext
d81c3c6c45e572365127b73594c0ccf0b7f86f17 14-Aug-2015 Yusuke Sato <yusukes@google.com> 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
/system/core/logwrapper/logwrap.c
7954eb0a466ac502d51e3424999f437731d90f49 21-Jul-2015 Yusuke Sato <yusukes@google.com> am ab64465d: am 0e3ce82b: Merge "Use fsck.f2fs -a instead of -f for faster boot"

* commit 'ab64465d1f16f414c0bde5e3c4707c32b8220bbc':
Use fsck.f2fs -a instead of -f for faster boot
0df08271fb41e13550a4f2aa1fbdeb76b9a548c6 08-Jul-2015 Yusuke Sato <yusukes@google.com> Use fsck.f2fs -a instead of -f for faster boot

and run fsck with -f on clean shutdown instead.

With -f, fsck.f2fs always performs a full scan of the /data
partition regardless of whether the partition is clean or not.
The full scan takes more than 2 seconds on volantis-userdebug
and delays the OS boot.

With -a, the command does almost nothing when the partition
is clean and finishes within 20-30ms on volantis-userdebug.
When the partition has an error or its check point has
CP_FSCK_FLAG (aka "need_fsck"), the command does exactly the
same full scan as -f to fix it.

Bug: 21853106
Change-Id: I126263caf34c0f5bb8f5e6794454d4e72526ce38
/system/core/logwrapper/logwrap.c
465f75f6029e2aa7cdda5fa99c733b0496f4d7b2 03-Feb-2015 Greg Hartman <ghartman@google.com> Put in line breaks when logging to klog

Change-Id: I0fd4d0a03d8c69e1ef2d8192f59893f4bda61691
/system/core/logwrapper/logwrap.c
84cfd1092d1087a9a4d9f13c2fa2440ecd73f5fc 29-Jul-2014 Elliott Hughes <enh@google.com> Fix "ptsname is not thread-safe; use ptsname_r instead" build break.

Change-Id: I8fdca8e85056e99e943bdcf93a48574d76addcdc
/system/core/logwrapper/logwrap.c
5254c4a448c88bb0056eafe41cef03026a1ebb19 30-Apr-2014 Mark Salyzyn <salyzyn@google.com> logwrapper: turn on -Werror

- Deal with some -Wunused / -Wunused-variable issues

Change-Id: I27a99ffb962289ebbf04b40870b9404842030d2f
/system/core/logwrapper/logwrap.c
4eaf905858c6a1d7cf0639bed3e8de3bd7987646 19-Sep-2013 Ken Sumrall <ksumrall@android.com> Create a separate copy of the fsck logs

The log_target parameter of android_fork_execvp_ext() is now a
bit field, and multiple targets can be set to log to multiple
places at the same time.

The new target LOG_FILE will log to a file specified by the new
parameter file_path.

Set LOG_FILE and log to a file in /dev (the only writable filesystem
avilable when e2fsck runs) when invoking e2fsck in fs_mgr.

Bug: 10021342

Change-Id: I63baf644cc8c3afccc8345df27a74203b44d0400
/system/core/logwrapper/logwrap.c
96e11b5bc473918d61b088f1840e4d1ec48fd3ab 03-Apr-2013 Ken Sumrall <ksumrall@android.com> logwrapper: Add ability to log to kernel log

Also add ability to do abbreviated logging where only the first
4K bytes and last 4K bytes of output are added to the desginated log.

Also update standalog logwrapper command to support the new options.

Change-Id: Ia49cbe58479b9f9ed077498d6852e20b21287bad
/system/core/logwrapper/logwrap.c
6ad53df6335520befee74efafca41d625baa9023 20-Mar-2013 Rom Lemarchand <romlem@google.com> liblogwrap: use POLLHUP flag to check when a child dies

Replace the old signal handling mechanism with a check of POLLHUP
to check when the child has died.

See http://b/8333626

Change-Id: Ic9909b6660b1c3d1ed3015568b1a1ee1c25afe20
/system/core/logwrapper/logwrap.c
74a7b91cbe29d3a9e6500fb90aae6d9a858dc1f7 11-Mar-2013 Rom Lemarchand <romlem@google.com> liblogwrap: lock android_fork_execvp

Add a lock around android_fork_execvp to ensure no two threads can
execute it at the same time.

This is to help with http://b/8333626

Change-Id: I75d087a74b58f5b8e878675b301200f54d976fb2
/system/core/logwrapper/logwrap.c
451dd85fb204b5015c461eabc78722abd1c4252a 11-Mar-2013 Rom Lemarchand <romlem@google.com> liblogwrap: replace loops with calls to TEMP_FAILURE_RETRY

Makes the code slightly more readable and avoids boilerplate.

Change-Id: I023d9a1e1de729deaec97c62a5ca7983b6918f94
/system/core/logwrapper/logwrap.c
a689d13a19ca729eee1f9a79e181976eabbd79dc 14-Feb-2013 JP Abgrall <jpa@google.com> logwrap lib: make logwrapper less verbose when told to not log

We don't care about exit codes if logwrap output is not requested.

Change-Id: Ibae5fe53527554a1fe865c2058deb0a128a9dde2
/system/core/logwrapper/logwrap.c
2f34c5033e21fed358a0e07b07c201dc943a1b5d 08-Feb-2013 Rom Lemarchand <romlem@google.com> logwrap: Change semantics of NULL status in android_fork_execvp

When passing a NULL status to android_fork_execvp the return
status will now be the return value of the child if it exited
properly, otherwise a non-0 value will be returned.

Change-Id: I13309c61b37b6b3f9d5507f7d6484e7b6baaf8d0
/system/core/logwrapper/logwrap.c
2a46bfa6b9401b847a3c0609e247428564d91121 29-Jan-2013 Rom Lemarchand <romlem@google.com> logwrapper: rename logwrap() to android_fork_execvp()

Also change the quiet flag to a logwrap flag (inverses the meaning of
the boolean).

Change-Id: I76047a7b460f4c28d52f26bfe3f65889d96047f8
/system/core/logwrapper/logwrap.c
f5200c075098a6fb6a69ac4e2baa2fdd3809cbbd 24-Jan-2013 Rom Lemarchand <romlem@google.com> logwrap: add quiet flag to logwrap()

Add a quiet flag to the logwrap function that prevents messages from
getting logged.

Change-Id: Ic56c011fb608babae32b03900b955833a6bdd070
/system/core/logwrapper/logwrap.c
2c3b2e12c15ac130bbfd806404dc735ed1ab8939 29-Jan-2013 Rom Lemarchand <romlem@google.com> Merge "logwrap: Replace sigprocmask with pthread_sigmask"
665118f502baa3d3acaf6aa50c3dd14fdc14779d 29-Jan-2013 Rom Lemarchand <romlem@google.com> Merge "logwrap: wait for child process when receiving SIGINT or SIGQUIT"
ed179d2f98c1628a593aec6d8408b621015f4de5 17-Jan-2013 Rom Lemarchand <romlem@google.com> logwrap: Replace sigprocmask with pthread_sigmask

sigprocmask has undefined behavior when called from a thread.
Replacing with pthread_sigmask to ensure correct behavior if
logwrap() gets called from a thread.

Change-Id: I77b6959d345eac8d7b90039ed8144ead8c19a00c
/system/core/logwrapper/logwrap.c
75c289aab9b81dc2235680cf141a4b183ee49391 09-Jan-2013 Rom Lemarchand <romlem@google.com> logwrap: wait for child process when receiving SIGINT or SIGQUIT

- Wait for the child to exit before propagating SIGINT and SIGQUIT
to the parent
- Add ignore_int_quit argument to logwrap() that gives the caller the
option to ignore SIGINT and SIGQUIT while logwrap is running

Change-Id: If5c96cf23094917211310f00aa6aed515f110f5b
/system/core/logwrapper/logwrap.c
99e1966400559f9fcc18174e37ccf8a0e5265ffc 08-Jan-2013 Rom Lemarchand <romlem@google.com> logwrap: ensure child exits with _exit

Always exit the child process with _exit() rather than exit() to ensure none
of the parent's atexit functions get called if the child needs to exit before
calling exec.

Change-Id: I6a75111ef1bb3468c114c98743565471cf82c9dd
/system/core/logwrapper/logwrap.c
cfb5ec3c283bb0fd5a99d6ed282a508be309d291 11-Jan-2013 Rom Lemarchand <romlem@google.com> logwrap: remove unnecessary call to setuid/setgid

Android allows all users to write to log.
The setuid/setgid call is unneeded and could cause unintended
side effects when called from daemons or programs that need
to run as root.

Change-Id: I3bdb26eaa4363ef037615e45a1a5cb1ceb4088f3
/system/core/logwrapper/logwrap.c
611f5b4b938f2ffcf2a2e71a847e4fd12587ca4b 14-Jan-2013 Rom Lemarchand <romlem@google.com> logwrap: fix off by 1 argument error

Fix off by 1 argument parsing error in liblogwrap.

Change-Id: I79832ae338a71c445f9f616d780c577826874386
/system/core/logwrapper/logwrap.c
0cc2cab6af2635e3293b3611a4c0982061dbb935 16-Jan-2013 Rom Lemarchand <romlem@google.com> logwrapper: switch to signal handlers for SIGCHLD

Switch to a signal handler to monitor SIGCHLD.
Also, clean up the exit path and log a warning when the
previous SIGCHLD sigaction is not default or ignore.

Change-Id: I7ef7daabee18d80e9e82fba3943cf1d03b504ae3
/system/core/logwrapper/logwrap.c
b58a82295529e775fbb900ecfb2d9104b2dafdc1 10-Jan-2013 Rom Lemarchand <romlem@google.com> logwrapper: prevent logwrap from hanging when child dies

Sometimes the read on the PTY can wait indefinitely if the child
dies. By using a poll statement that monitors both the output
of the child and its state we prevent this from happening.

Change-Id: I51d5556c66f039bca673145ca72db262977e1689
/system/core/logwrapper/logwrap.c
113bd47d619fa36eb5017cbf2c1b6fe677715ed0 11-Jan-2013 Rom Lemarchand <romlem@google.com> logwrapper: split into liblogwrap and the executable itself

Abstracting the functionality of logwrapper into a library and making
use of it for the logwrapper executable.

Change-Id: I2bcf722413f3a8454c6f52137dec86c4477fb8b5
/system/core/logwrapper/logwrap.c