| 647 |
return rv; |
return rv; |
| 648 |
} |
} |
| 649 |
|
|
| 650 |
|
static void dbd_child_init(apr_pool_t *p, server_rec *s) |
| 651 |
|
{ |
| 652 |
|
apr_status_t rv = dbd_setup_init(p, s); |
| 653 |
|
if (rv) { |
| 654 |
|
ap_log_error(APLOG_MARK, APLOG_CRIT, rv, s, |
| 655 |
|
"DBD: child init failed!"); |
| 656 |
|
} |
| 657 |
|
} |
| 658 |
|
|
| 659 |
#if APR_HAS_THREADS |
#if APR_HAS_THREADS |
| 660 |
static apr_status_t dbd_setup_lock(server_rec *s, dbd_group_t *group) |
static apr_status_t dbd_setup_lock(server_rec *s, dbd_group_t *group) |
| 661 |
{ |
{ |
| 913 |
{ |
{ |
| 914 |
ap_hook_pre_config(dbd_pre_config, NULL, NULL, APR_HOOK_MIDDLE); |
ap_hook_pre_config(dbd_pre_config, NULL, NULL, APR_HOOK_MIDDLE); |
| 915 |
ap_hook_post_config(dbd_post_config, NULL, NULL, APR_HOOK_MIDDLE); |
ap_hook_post_config(dbd_post_config, NULL, NULL, APR_HOOK_MIDDLE); |
| 916 |
ap_hook_child_init((void*)dbd_setup_init, NULL, NULL, APR_HOOK_MIDDLE); |
ap_hook_child_init(dbd_child_init, NULL, NULL, APR_HOOK_MIDDLE); |
| 917 |
|
|
| 918 |
APR_REGISTER_OPTIONAL_FN(ap_dbd_prepare); |
APR_REGISTER_OPTIONAL_FN(ap_dbd_prepare); |
| 919 |
APR_REGISTER_OPTIONAL_FN(ap_dbd_open); |
APR_REGISTER_OPTIONAL_FN(ap_dbd_open); |