static int pre_config(apr_pool_t *p, apr_pool_t *plog,
apr_pool_t *ptemp)
{
- sharedmem_initglobalpool(p);
+ apr_pool_t *global_pool;
+ apr_status_t rv;
+
+ rv = apr_pool_create(&global_pool, NULL);
+ if (rv != APR_SUCCESS) {
+ ap_log_error(APLOG_MARK, APLOG_CRIT, rv, NULL,
+ "Fatal error: unable to create global pool for shared slotmem");
+ return rv;
+ }
+ sharedmem_initglobalpool(global_pool);
return OK;
}
if (apr_file_info_get(&fi, APR_FINFO_SIZE, fp) == APR_SUCCESS) {
if (fi.size == nbytes) {
apr_file_read(fp, ptr, &nbytes);
+ } else {
+ apr_file_close(fp);
+ apr_file_remove(storename, pool);
+ return;
}
}
apr_file_close(fp);