[Mod-auth-commit] mod_dbi_pool/src Makefile.am,1.1,1.2 mod_dbi_pool.c,1.7,1.8
Brought to you by:
firechipmunk,
honx
From: Paul Q. <fir...@us...> - 2004-05-10 06:49:48
|
Update of /cvsroot/mod-auth/mod_dbi_pool/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7262/src Modified Files: Makefile.am mod_dbi_pool.c Log Message: remove APR_HAS_THREADS update build scripts Index: Makefile.am =================================================================== RCS file: /cvsroot/mod-auth/mod_dbi_pool/src/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Makefile.am 8 Feb 2004 22:00:18 -0000 1.1 +++ Makefile.am 10 May 2004 06:49:38 -0000 1.2 @@ -1,7 +1,7 @@ CLEANFILES = .libs/libmod_dbi_pool *~ libmod_dbi_pool_la_SOURCES = mod_dbi_pool.c -libmod_dbi_pool_la_CFLAGS = -I$(DBI_INCLUDES) +libmod_dbi_pool_la_CFLAGS = ${MODULE_CFLAGS} libmod_dbi_pool_la_LDFLAGS = -L$(DBI_LIB) -ldbi @@ -11,7 +11,7 @@ @if test ! -L mod_dbi_pool.so ; then ln -s .libs/libmod_dbi_pool.so mod_dbi_pool.so ; fi install: make_so - @${APXS} -i -a -n dbi_pool mod_dbi_pool.so + @${APXS_BIN} -i -a -n dbi_pool mod_dbi_pool.so @echo "" @echo "" @echo "***********************************************" Index: mod_dbi_pool.c =================================================================== RCS file: /cvsroot/mod-auth/mod_dbi_pool/src/mod_dbi_pool.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- mod_dbi_pool.c 3 Mar 2004 07:05:49 -0000 1.7 +++ mod_dbi_pool.c 10 May 2004 06:49:38 -0000 1.8 @@ -29,16 +29,31 @@ #include <dbi/dbi.h> -#include <httpd.h> -#include <http_protocol.h> -#include <http_config.h> -#include <http_log.h> -#include <apr_reslist.h> -#include <apr_strings.h> -#include <apr_hash.h> - +#include "httpd.h" +#include "http_protocol.h" +#include "http_config.h" +#include "http_log.h" +#include "apr.h" +#include "apu.h" +#include "apr_pools.h" +#include "apr_errno.h" +#include "apr_time.h" +#include "apr_strings.h" +#include "apr_hash.h" +#include "apr_reslist.h" #include "mod_dbi_pool.h" +struct dbi_config_struct { + const char name; + dbi_config_rec rec; +#ifdef APR_HAS_THREADS + apr_reslist_t *pool; +#else + dbi_conn *conn; +#endif +}; + + module AP_MODULE_DECLARE_DATA dbi_pool_module; static apr_hash_t *dbi_pool_config; @@ -269,6 +284,7 @@ for (idx = apr_hash_first(p, dbi_pool_config); idx; idx = apr_hash_next(idx)) { apr_hash_this(idx, (void *)&key, &len, (void *)&val); +#ifdef APR_HAS_THREADS if (apr_reslist_create(&val->pool, val->rec.conn_min, /* hard minimum */ val->rec.conn_soft, /* soft maximum */ val->rec.conn_max, /* hard maximum */ @@ -279,6 +295,13 @@ ap_log_perror(APLOG_MARK, APLOG_EMERG, 0, p, "[mod_dbi_pool.c] - Creation of dbi connection pool failed for config set %s", key); +#else + if(dbipool_construct(&val->conn, val->rec, p) != APR_SUCCESS) { + ap_log_perror(APLOG_MARK, APLOG_EMERG, 0, p, + "[mod_dbi_pool.c] - Creation of DBI connection failed for config set %s", + key); + } +#endif /* * XXX: If no new connection could be opened, the reslist will not * contain any resources and reslist_create will fail, giving @@ -334,16 +357,20 @@ { dbi_conn *ret = NULL; dbi_config *conf = apr_hash_get(dbi_pool_config, id, APR_HASH_KEY_STRING); - +#ifdef APR_HAS_THREADS if (apr_reslist_acquire(conf->pool, (void **)&ret) != APR_SUCCESS) { return NULL; } return ret; +#else + return conf->conn; +#endif } void dbipool_close(conn_id * id, dbi_conn * conn) { +#ifdef APR_HAS_THREADS dbi_config *conf = apr_hash_get(dbi_pool_config, id, APR_HASH_KEY_STRING); - apr_reslist_release(conf->pool, (void **)conn); +#endif } |