Perl_do_close(aTHX_ handle_orig, FALSE);
do_close(handle_orig, FALSE);
MP_INLINE void modperl_io_perlio_restore_stdin(pTHX_ GV *handle){    GV *handle_orig = gv_fetchpv("STDIN", FALSE, SVt_PVIO);    MP_TRACE_o(MP_FUNC, "start");    /* close the overriding filehandle */    Perl_do_close(aTHX_ handle_orig, FALSE);    /*     * open STDIN, "<&STDIN_SAVED" or die "Can't dup STDIN_SAVED: $!";     * close STDIN_SAVED;     */    if (handle != (GV*)Nullsv) {        SV *err = Nullsv;        MP_TRACE_o(MP_FUNC, "restoring STDIN");        if (Perl_do_open9(aTHX_ handle_orig, "<&", 2, FALSE,                          O_RDONLY, 0, Nullfp, (SV*)handle, 1) == 0) {            err = get_sv("!", TRUE);        }        Perl_do_close(aTHX_ handle, FALSE);        (void)hv_delete(gv_stashpv("Apache2::RequestIO", TRUE),                         GvNAME(handle), GvNAMELEN(handle), G_DISCARD);        if (err != Nullsv) {            Perl_croak(aTHX_ "Failed to restore STDIN: %" SVf, err);        }    }    MP_TRACE_o(MP_FUNC, "end\n");}