Apache-LogFile

 view release on metacpan or  search on metacpan

LogFile.xs  view on Meta::CPAN

} config_log_state;

typedef config_log_state *Apache__LogFile;

/* when the startup pool is cleared, delete the caller's file
 * from %INC so the log is re-opened
 */
static void inc_delete(void *data)
{
    SV *file = (SV*)data;
    /*fprintf(stderr, "removing %s from INC\n", SvPV(file,na));*/
    (void)hv_delete_ent(GvHV(incgv), file, G_DISCARD, FALSE);
    SvREFCNT_dec(file);
}

static void mark_for_inc_delete(SV *file)
{
    pool *p = perl_get_startup_pool();
    if(!p) croak("can't get startup pool!");

    register_cleanup(p, (void*)SvREFCNT_inc(file), 

LogFile.xs  view on Meta::CPAN

 
    if (*RETVAL->fname == '|') {
        char *pname = server_root_relative(p, (RETVAL->fname+1));
        piped_log *pl = open_piped_log(p, pname);
        if(pl == NULL) croak("can't open piped log `%s'", pname);
        RETVAL->log_fd = piped_log_write_fd(pl);
    }
    else {
        char *fname = server_root_relative(p, RETVAL->fname);
        if ((RETVAL->log_fd = popenf(p, fname, xfer_flags, xfer_mode)) < 0) {
            fprintf(stderr, "Apache::LogFile: could not open log file %s.\n",
                    fname);
            exit(1);
        }
    }

    OUTPUT:
    RETVAL

int
print(self, ...)



( run in 0.524 second using v1.01-cache-2.11-cpan-26ccb49234f )