summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stewart <vericgar@gentoo.org>2006-04-16 22:12:00 +0000
committerMichael Stewart <vericgar@gentoo.org>2006-04-16 22:12:00 +0000
commit96fae200109f59a844f37fcc03fd8e735c667886 (patch)
treea04f41a6b9a86f939ca7ede36bf4de9b630525ff /dev-libs/apr-util/files
parentdev-libs/eb stable on ppc. (diff)
downloadgentoo-2-96fae200109f59a844f37fcc03fd8e735c667886.tar.gz
gentoo-2-96fae200109f59a844f37fcc03fd8e735c667886.tar.bz2
gentoo-2-96fae200109f59a844f37fcc03fd8e735c667886.zip
General cleanup. Use a saner filename for the patch for apr-util-0.9.6-r2. Remove outdated/unsupported apr-util-1.1.2.
(Portage version: 2.1_pre6)
Diffstat (limited to 'dev-libs/apr-util/files')
-rw-r--r--dev-libs/apr-util/files/apr-util-0.9.x-161086-161087.patch140
-rw-r--r--dev-libs/apr-util/files/digest-apr-util-1.1.21
2 files changed, 140 insertions, 1 deletions
diff --git a/dev-libs/apr-util/files/apr-util-0.9.x-161086-161087.patch b/dev-libs/apr-util/files/apr-util-0.9.x-161086-161087.patch
new file mode 100644
index 000000000000..9cca25d358ce
--- /dev/null
+++ b/dev-libs/apr-util/files/apr-util-0.9.x-161086-161087.patch
@@ -0,0 +1,140 @@
+Index: include/apr_reslist.h
+===================================================================
+--- include/apr_reslist.h (revision 161086)
++++ include/apr_reslist.h (revision 161087)
+@@ -112,6 +112,24 @@
+ APU_DECLARE(apr_status_t) apr_reslist_release(apr_reslist_t *reslist,
+ void *resource);
+
++/**
++ * Set the timeout the acquire will wait for a free resource
++ * when the maximum number of resources is exceeded.
++ * @param reslist The resource list.
++ * @param timeout Timeout to wait. The zero waits forewer.
++ */
++APU_DECLARE(void) apr_reslist_timeout_set(apr_reslist_t *reslist,
++ apr_interval_time_t timeout);
++
++/**
++ * Invalidate a resource in the pool - e.g. a database connection
++ * that returns a "lost connection" error and can't be restored.
++ * Use this instead of apr_reslist_release if the resource is bad.
++ */
++APU_DECLARE(apr_status_t) apr_reslist_invalidate(apr_reslist_t *reslist,
++ void *resource);
++
++
+ #ifdef __cplusplus
+ }
+ #endif
+Index: misc/apr_reslist.c
+===================================================================
+--- misc/apr_reslist.c (revision 161086)
++++ misc/apr_reslist.c (revision 161087)
+@@ -50,6 +50,7 @@
+ int smax; /* soft maximum on the total number of resources */
+ int hmax; /* hard maximum on the total number of resources */
+ apr_interval_time_t ttl; /* TTL when we have too many resources */
++ apr_interval_time_t timeout; /* Timeout for waiting on resource */
+ apr_reslist_constructor constructor;
+ apr_reslist_destructor destructor;
+ void *params; /* opaque data passed to constructor and destructor calls */
+@@ -119,12 +120,9 @@
+ res = apr_pcalloc(reslist->pool, sizeof(*res));
+
+ rv = reslist->constructor(&res->opaque, reslist->params, reslist->pool);
+- if (rv != APR_SUCCESS) {
+- return rv;
+- }
+
+ *ret_res = res;
+- return APR_SUCCESS;
++ return rv;
+ }
+
+ /**
+@@ -133,14 +131,7 @@
+ */
+ static apr_status_t destroy_resource(apr_reslist_t *reslist, apr_res_t *res)
+ {
+- apr_status_t rv;
+-
+- rv = reslist->destructor(res->opaque, reslist->params, reslist->pool);
+- if (rv != APR_SUCCESS) {
+- return rv;
+- }
+-
+- return APR_SUCCESS;
++ return reslist->destructor(res->opaque, reslist->params, reslist->pool);
+ }
+
+ static apr_status_t reslist_cleanup(void *data_)
+@@ -188,6 +179,7 @@
+ /* Create the resource */
+ rv = create_resource(reslist, &res);
+ if (rv != APR_SUCCESS) {
++ free_container(reslist, res);
+ apr_thread_mutex_unlock(reslist->listlock);
+ return rv;
+ }
+@@ -314,7 +306,15 @@
+ * a new one, or something becomes free. */
+ else while (reslist->ntotal >= reslist->hmax
+ && reslist->nidle <= 0) {
+- apr_thread_cond_wait(reslist->avail, reslist->listlock);
++ if (reslist->timeout) {
++ if ((rv = apr_thread_cond_timedwait(reslist->avail,
++ reslist->listlock, reslist->timeout)) != APR_SUCCESS) {
++ apr_thread_mutex_unlock(reslist->listlock);
++ return rv;
++ }
++ }
++ else
++ apr_thread_cond_wait(reslist->avail, reslist->listlock);
+ }
+ /* If we popped out of the loop, first try to see if there
+ * are new resources available for immediate use. */
+@@ -330,17 +330,13 @@
+ * a resource to fill the slot and use it. */
+ else {
+ rv = create_resource(reslist, &res);
+-
+- if (rv != APR_SUCCESS) {
+- apr_thread_mutex_unlock(reslist->listlock);
+- return rv;
++ if (rv == APR_SUCCESS) {
++ reslist->ntotal++;
++ *resource = res->opaque;
+ }
+-
+- reslist->ntotal++;
+- *resource = res->opaque;
+ free_container(reslist, res);
+ apr_thread_mutex_unlock(reslist->listlock);
+- return APR_SUCCESS;
++ return rv;
+ }
+ }
+
+@@ -359,4 +355,21 @@
+ return reslist_maint(reslist);
+ }
+
++APU_DECLARE(void) apr_reslist_timeout_set(apr_reslist_t *reslist,
++ apr_interval_time_t timeout)
++{
++ reslist->timeout = timeout;
++}
++
++APU_DECLARE(apr_status_t) apr_reslist_invalidate(apr_reslist_t *reslist,
++ void *resource)
++{
++ apr_status_t ret;
++ apr_thread_mutex_lock(reslist->listlock);
++ ret = reslist->destructor(resource, reslist->params, reslist->pool);
++ reslist->ntotal--;
++ apr_thread_mutex_unlock(reslist->listlock);
++ return ret;
++}
++
+ #endif /* APR_HAS_THREADS */
diff --git a/dev-libs/apr-util/files/digest-apr-util-1.1.2 b/dev-libs/apr-util/files/digest-apr-util-1.1.2
deleted file mode 100644
index 159e5d96cf74..000000000000
--- a/dev-libs/apr-util/files/digest-apr-util-1.1.2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 e82f933c065ccd1c7d910da67bc77825 apr-util-1.1.2.tar.gz 615019