Ejemplo n.º 1
0
int log_main(LogWriter* logWriter, const char* ipcPath)
{
    ExceptionScope exScope;
    int volatile ret = 0;
    int ex;
    
    exception_begin_try(B(logWriter), &exScope);
    
    switch ((ex = exception_try(B(logWriter))))
    {
    case Try:
        log_writer_init(logWriter, ipcPath);
        log_writer_main_loop(logWriter);
        break;
    
    case Finally:
        log_writer_deinit(logWriter);
        break;
    
    default:
        printf("[log_main] Unhandled exception (%i): %s\n", ex, string_data(exception_get_message(B(logWriter))));
        exception_handled(B(logWriter));
        ret = ex;
        break;
    }
    
    exception_end_try_with_finally(B(logWriter));
    
    return ret;
}
Ejemplo n.º 2
0
static config_log_state *open_config_log(server_rec *s, apr_pool_t *p,
                                         config_log_state *cls,
                                         apr_array_header_t *default_format)
{
    if (cls->log_writer != NULL) {
        return cls;             /* virtual config shared w/main server */
    }

    if (cls->fname == NULL) {
        return cls;             /* Leave it NULL to decline.  */
    }

    cls->log_writer = log_writer_init(p, s, cls->fname);
    if (cls->log_writer == NULL)
        return NULL;

    return cls;
}