openbmc/build/tmp/deploy/sdk/witherspoon-2019-08-08/sysroots/armv6-openbmc-linux-gnueabi/usr/src/debug/libgpg-error/1.36-r0/libgpg-error-1.36/src/spawn-posix.c
gpg_err_code_t _gpgrt_spawn_process_fd(const char* pgmname, const char* argv[],
                                       int infd, int outfd, int errfd,
                                       pid_t* pid)
{
    gpg_error_t err;

    _gpgrt_pre_syscall();
    *pid = fork();
    _gpgrt_post_syscall();
    if (*pid == (pid_t)(-1))
    {
        err = _gpg_err_code_from_syserror();
        _gpgrt_log_error(_("error forking process: %s\n"), _gpg_strerror(err));
        return err;
    }

    if (!*pid)
    {
        /* FIXME: We need to add a preexec so that a
             gcry_control (GCRYCTL_TERM_SECMEM);
           can be done.  */
        /* Run child. */
        do_exec(pgmname, argv, infd, outfd, errfd, NULL, NULL);
        /*NOTREACHED*/
    }

    return 0;
}
/* Fork and exec the PGMNAME using FDs, see gpgrt-int.h for details.  */
Fork and exec the PGMNAME using FDs, see gpgrt-int.h for details.
Fork and exec the PGMNAME using FDs see gpgrt - int . h for details .
gpg_err_code_t _gpgrt_spawn_process_fd(const char* pgmname, const char* argv[],
                                       int infd, int outfd, int errfd,
                                       pid_t* pid)
{
    gpg_error_t err;
    _gpgrt_pre_syscall();
    *pid = fork();
    _gpgrt_post_syscall();
    if (*pid == (pid_t)(-1))
    {
        err = _gpg_err_code_from_syserror();
        _gpgrt_log_error(_("error forking process: %s\n"), _gpg_strerror(err));
        return err;
    }
    if (!*pid)
    {
        do_exec(pgmname, argv, infd, outfd, errfd, NULL, NULL);
    }
    return 0;
}
gpg_err_code_t _gpgrt_spawn_process_fd ( const char * pgmname , const char * argv [ ] , int infd , int outfd , int errfd , pid_t * pid ) { gpg_error_t err ; _gpgrt_pre_syscall ( ) ; * pid = fork ( ) ; _gpgrt_post_syscall ( ) ; if ( * pid == ( pid_t ) ( -1 ) ) { err = _gpg_err_code_from_syserror ( ) ; _gpgrt_log_error ( _ ( " \n " ) , _gpg_strerror ( err ) ) ; return err ; } if ( ! * pid ) { do_exec ( pgmname , argv , infd , outfd , errfd , NULL , NULL ) ; } return 0 ; }
Fork and exec the PGMNAME using FDs, see gpgrt-int.h for details.
Fork and exec the PGMNAME using FDs see gpgrt - int . h for details .
/* FIXME: We need to add a preexec so that a
             gcry_control (GCRYCTL_TERM_SECMEM);
           can be done.  */ /* Run child. */ /*NOTREACHED*/