summaryrefslogtreecommitdiffstats
path: root/logwrapper/include/logwrap
diff options
context:
space:
mode:
authorRom Lemarchand <romlem@google.com>2013-02-07 15:43:09 -0800
committerRom Lemarchand <romlem@google.com>2013-02-08 09:37:52 -0800
commit2f34c5033e21fed358a0e07b07c201dc943a1b5d (patch)
tree854ef477e5db5b89a38c4a08a6c66afbd80fb14e /logwrapper/include/logwrap
parentc5c410fe3d3dd2f3dce51ed25cdd0a7ac7d5bc8e (diff)
downloadsystem_core-2f34c5033e21fed358a0e07b07c201dc943a1b5d.tar.gz
system_core-2f34c5033e21fed358a0e07b07c201dc943a1b5d.tar.bz2
system_core-2f34c5033e21fed358a0e07b07c201dc943a1b5d.zip
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
Diffstat (limited to 'logwrapper/include/logwrap')
-rw-r--r--logwrapper/include/logwrap/logwrap.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/logwrapper/include/logwrap/logwrap.h b/logwrapper/include/logwrap/logwrap.h
index 44523e31d..2be8736f6 100644
--- a/logwrapper/include/logwrap/logwrap.h
+++ b/logwrapper/include/logwrap/logwrap.h
@@ -37,7 +37,8 @@ __BEGIN_DECLS
* arguments as separate strings. argv does not need to be
* NULL-terminated
* status: the equivalent child status as populated by wait(status). This
- * value is only valid when logwrap successfully completes
+ * value is only valid when logwrap successfully completes. If NULL
+ * the return value of the child will be the function's return value.
* ignore_int_quit: set to true if you want to completely ignore SIGINT and
* SIGQUIT while logwrap is running. This may force the end-user to
* send a signal twice to signal the caller (once for the child, and
@@ -47,6 +48,8 @@ __BEGIN_DECLS
* Return value:
* 0 when logwrap successfully run the child process and captured its status
* -1 when an internal error occurred
+ * -ECHILD if status is NULL and the child didn't exit properly
+ * the return value of the child if it exited properly and status is NULL
*
*/
int android_fork_execvp(int argc, char* argv[], int *status, bool ignore_int_quit,