This will be used in crash-manager to invoke processes in
"non-blocking" way.
Change-Id: Ic70eda38c7cba8628e635ba206f1fe81edb944eb
return dup2(param->int_val, STDOUT_FILENO) < 0 || dup2(param->int_val, STDERR_FILENO) < 0 ? -1 : 0;
}
+int spawn_nullstdfds(spawn_param_u *param)
+{
+ int fd = open("/dev/null", O_RDWR);
+ int ret = dup2(fd, STDIN_FILENO) < 0 || dup2(fd, STDOUT_FILENO) < 0 || dup2(fd, STDERR_FILENO) < 0 ? -1 : 0;
+ if (fd != STDIN_FILENO && fd != STDOUT_FILENO && fd != STDERR_FILENO)
+ close(fd);
+ return ret;
+}
+
int spawn_chdir(spawn_param_u *param)
{
assert(param);
int spawn_setstdout(spawn_param_u *param);
int spawn_setstdouterr(spawn_param_u *param);
+int spawn_nullstdfds(spawn_param_u *param);
int spawn_chdir(spawn_param_u *param);
int spawn_umask(spawn_param_u *param);