typedef unsigned int ap_slotmem_type_t;
+#define AP_SLOTMEM_TYPE_PERSIST (1 << 0)
+#define AP_SLOTMEM_TYPE_NOTMPSAFE (1 << 1)
+
typedef struct ap_slotmem_instance_t ap_slotmem_instance_t;
/**
apr_size_t (* slot_size)(ap_slotmem_instance_t *s);
};
+typedef struct ap_slotmem_provider_t ap_slotmem_provider_t;
+
#ifdef __cplusplus
}
#endif
static void ap_plainmem_register_hook(apr_pool_t *p)
{
/* XXX: static const char * const prePos[] = { "mod_slotmem.c", NULL }; */
- ap_register_provider(p, AP_SLOTMEM_STORAGE, "plain", "0", &storage);
+ ap_register_provider(p, AP_SLOTMEM_PROVIDER_GROUP, "plain", "0", &storage);
ap_hook_pre_config(pre_config, NULL, NULL, APR_HOOK_MIDDLE);
}
memcpy(ptr, &desc, sizeof(desc));
ptr = ptr + sizeof(desc);
memset(ptr, 0, dsize);
- if (type == SLOTMEM_PERSIST)
+ if (type & AP_SLOTMEM_TYPE_PERSIST)
restore_slotmem(ptr, fname, dsize, pool);
}
static void ap_sharedmem_register_hook(apr_pool_t *p)
{
const ap_slotmem_provider_t *storage = sharedmem_getstorage();
- ap_register_provider(p, AP_SLOTMEM_STORAGE, "shared", "0", storage);
+ ap_register_provider(p, AP_SLOTMEM_PROVIDER_GROUP, "shared", "0", storage);
ap_hook_post_config(post_config, NULL, NULL, APR_HOOK_LAST);
ap_hook_pre_config(pre_config, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_child_init(child_init, NULL, NULL, APR_HOOK_MIDDLE);