#include "apr_dbd.h"
#include "mod_dbd.h"
-
extern module AP_MODULE_DECLARE_DATA dbd_module;
/************ svr cfg: manage db connection pool ****************/
}
#endif
}
+static apr_status_t dbd_close(void *CONN)
+{
+ ap_dbd_t *conn = CONN;
+ return apr_dbd_close(conn->driver, conn->handle);
+}
#if APR_HAS_THREADS
typedef struct {
ap_dbd_t *conn;
apr_pool_cleanup_null);
}
else {
- apr_pool_cleanup_register(r->pool, req->conn->handle,
- (void*)req->conn->driver->close,
+ apr_pool_cleanup_register(r->pool, req->conn, dbd_close,
apr_pool_cleanup_null);
}
}
if ( ret ) {
ap_set_module_config(r->request_config, &dbd_module, ret);
if (!svr->persist) {
- apr_pool_cleanup_register(r->pool, svr->conn->handle,
- (void*)svr->conn->driver->close,
+ apr_pool_cleanup_register(r->pool, svr->conn, dbd_close,
apr_pool_cleanup_null);
}
/* if persist then dbd_open registered cleanup on proc pool */