{
lua_State* L;
ap_lua_server_spec* spec = apr_pcalloc(pool, sizeof(ap_lua_server_spec));
+ *resource = NULL;
if (vm_construct(&L, params, pool) == APR_SUCCESS) {
spec->finfo = apr_pcalloc(pool, sizeof(ap_lua_finfo));
if (L != NULL) {
}
if (L == NULL) {
ap_lua_vm_spec* server_spec = copy_vm_spec(r->server->process->pool, spec);
- apr_reslist_create(&reslist, spec->vm_min, spec->vm_max, spec->vm_max, 0,
+ if (
+ apr_reslist_create(&reslist, spec->vm_min, spec->vm_max, spec->vm_max, 0,
(apr_reslist_constructor) server_vm_construct,
(apr_reslist_destructor) server_cleanup_lua,
- server_spec, r->server->process->pool);
- apr_pool_userdata_set(reslist, hash, NULL,
- r->server->process->pool);
- if (apr_reslist_acquire(reslist, (void**) &sspec) == APR_SUCCESS) {
- L = sspec->L;
- cache_info = sspec->finfo;
+ server_spec, r->server->process->pool)
+ == APR_SUCCESS && reslist != NULL) {
+ apr_pool_userdata_set(reslist, hash, NULL,
+ r->server->process->pool);
+ if (apr_reslist_acquire(reslist, (void**) &sspec) == APR_SUCCESS) {
+ L = sspec->L;
+ cache_info = sspec->finfo;
+ }
}
}
#if APR_HAS_THREADS