summaryrefslogtreecommitdiffstats
path: root/logwrapper/logwrap.c
Commit message (Collapse)AuthorAgeFilesLines
* Build /vendor/bin/logwrapper too.Elliott Hughes2018-04-111-1/+0
| | | | | | Bug: https://issuetracker.google.com/77284669 Test: builds Change-Id: Iaafc856f2a7441d318f7b9376caa6629e02a8e23
* Logwrapper: Remove unused support for input / output processing.Narayan Kamath2017-03-221-34/+6
| | | | | | | | | | | | | Should make it easier to switch callers over to posix_spawn once that's available. NOTE: The (now) unused arguments will be removed in a followup (multi-project)c hange once we empirically confirm that there aren't any prebuilt blobs using this function. I did readelf all currently checked in prebuilts to look for a reference to this method, but one can never be too paranoid. Test: make checkbuild Change-Id: I454d80c52f269c31846133cc54375decd702fe71
* liblog: use log/log.h when utilizing ALOG macrosMark Salyzyn2017-01-111-1/+1
| | | | | | Test: compile Bug: 30465923 Change-Id: Id6d76510819ebd88c3f5003d00d73a0dbe85e943
* system/core Replace cutils/log.h with android/log.hMark Salyzyn2016-09-301-12/+12
| | | | | | | | | | | Should use android/log.h instead of cutils/log.h as a good example to all others. Adjust header order to comply with Android Coding standards. Test: Compile Bug: 26552300 Bug: 31289077 Change-Id: I2c9cbbbd64d8dccf2d44356361d9742e4a9b9031
* Don't go busy loop when waiting child process.Tao Wu2016-02-161-1/+1
| | | | | | | | | Before this change, code works like this: after gets POLLHUP from poll, it just go a busy loop to do poll -> waitpid -> poll -> waitpid ... until child process really exit. This doesn't make sense and is waste of CPU. Change-Id: If6cd8b0245587d623e309c3ae27f162e1c7ef504 Signed-off-by: Tao Wu <lepton@google.com>
* am eaf04aa0: am 3b94cef1: Merge "Add FORK_EXECVP_OPTION_CAPTURE_OUTPUT to ↵Yusuke Sato2015-08-221-5/+12
|\ | | | | | | | | | | | | logwrap.h" * commit 'eaf04aa0986e069a2ccffb69b94f1e4d6ad6726c': Add FORK_EXECVP_OPTION_CAPTURE_OUTPUT to logwrap.h
| * Add FORK_EXECVP_OPTION_CAPTURE_OUTPUT to logwrap.hYusuke Sato2015-08-211-5/+12
| | | | | | | | | | | | | | This allows raw popen calls in e.g. system/netd/ to be replaced with android_fork_execvp_ext(). Change-Id: I159ece7369fa38ff8782024bef0d7cfafe74ecee
* | am d1b11a04: am e656be33: Merge "Add |opts| argument to android_fork_execvp_ext"Yusuke Sato2015-08-191-2/+26
|\| | | | | | | | | * commit 'd1b11a04903be74ba6a47307d8c3ef2731e3f4ab': Add |opts| argument to android_fork_execvp_ext
| * Add |opts| argument to android_fork_execvp_extYusuke Sato2015-08-191-2/+26
| | | | | | | | | | | | | | to allow the caller to send data to the child's stdin. Bug: 21725996 Change-Id: I818f5cf61045286c8d64a91b6d50f05740329be1
* | am ab64465d: am 0e3ce82b: Merge "Use fsck.f2fs -a instead of -f for faster boot"Yusuke Sato2015-07-211-3/+4
|\| | | | | | | | | * commit 'ab64465d1f16f414c0bde5e3c4707c32b8220bbc': Use fsck.f2fs -a instead of -f for faster boot
| * Use fsck.f2fs -a instead of -f for faster bootYusuke Sato2015-07-151-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Put in line breaks when logging to klogGreg Hartman2015-02-031-1/+1
|/ | | | Change-Id: I0fd4d0a03d8c69e1ef2d8192f59893f4bda61691
* Fix "ptsname is not thread-safe; use ptsname_r instead" build break.Elliott Hughes2014-07-291-2/+2
| | | | Change-Id: I8fdca8e85056e99e943bdcf93a48574d76addcdc
* logwrapper: turn on -WerrorMark Salyzyn2014-05-021-4/+0
| | | | | | - Deal with some -Wunused / -Wunused-variable issues Change-Id: I27a99ffb962289ebbf04b40870b9404842030d2f
* Create a separate copy of the fsck logsKen Sumrall2013-09-201-8/+35
| | | | | | | | | | | | | | | | 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
* logwrapper: Add ability to log to kernel logKen Sumrall2013-04-141-30/+311
| | | | | | | | | 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
* liblogwrap: use POLLHUP flag to check when a child diesRom Lemarchand2013-03-201-102/+49
| | | | | | | | | 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
* liblogwrap: lock android_fork_execvpRom Lemarchand2013-03-141-0/+11
| | | | | | | | | 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
* liblogwrap: replace loops with calls to TEMP_FAILURE_RETRYRom Lemarchand2013-03-121-6/+2
| | | | | | Makes the code slightly more readable and avoids boilerplate. Change-Id: I023d9a1e1de729deaec97c62a5ca7983b6918f94
* logwrap lib: make logwrapper less verbose when told to not logJP Abgrall2013-02-131-20/+23
| | | | | | We don't care about exit codes if logwrap output is not requested. Change-Id: Ibae5fe53527554a1fe865c2058deb0a128a9dde2
* logwrap: Change semantics of NULL status in android_fork_execvpRom Lemarchand2013-02-081-6/+11
| | | | | | | | 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
* logwrapper: rename logwrap() to android_fork_execvp()Rom Lemarchand2013-01-301-36/+32
| | | | | | | Also change the quiet flag to a logwrap flag (inverses the meaning of the boolean). Change-Id: I76047a7b460f4c28d52f26bfe3f65889d96047f8
* logwrap: add quiet flag to logwrap()Rom Lemarchand2013-01-281-30/+39
| | | | | | | Add a quiet flag to the logwrap function that prevents messages from getting logged. Change-Id: Ic56c011fb608babae32b03900b955833a6bdd070
* Merge "logwrap: Replace sigprocmask with pthread_sigmask"Rom Lemarchand2013-01-291-4/+4
|\
| * logwrap: Replace sigprocmask with pthread_sigmaskRom Lemarchand2013-01-291-4/+4
| | | | | | | | | | | | | | | | 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
* | Merge "logwrap: wait for child process when receiving SIGINT or SIGQUIT"Rom Lemarchand2013-01-291-1/+18
|\|
| * logwrap: wait for child process when receiving SIGINT or SIGQUITRom Lemarchand2013-01-291-1/+18
| | | | | | | | | | | | | | | | | | - 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
* | logwrap: ensure child exits with _exitRom Lemarchand2013-01-281-20/+19
|/ | | | | | | | 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
* logwrap: remove unnecessary call to setuid/setgidRom Lemarchand2013-01-281-6/+0
| | | | | | | | | 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
* logwrap: fix off by 1 argument errorRom Lemarchand2013-01-281-2/+2
| | | | | | Fix off by 1 argument parsing error in liblogwrap. Change-Id: I79832ae338a71c445f9f616d780c577826874386
* logwrapper: switch to signal handlers for SIGCHLDRom Lemarchand2013-01-281-75/+134
| | | | | | | | 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
* logwrapper: prevent logwrap from hanging when child diesRom Lemarchand2013-01-141-44/+108
| | | | | | | | 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
* logwrapper: split into liblogwrap and the executable itselfRom Lemarchand2013-01-111-0/+161
Abstracting the functionality of logwrapper into a library and making use of it for the logwrapper executable. Change-Id: I2bcf722413f3a8454c6f52137dec86c4477fb8b5