summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authormanoj <manoj@13f79535-47bb-0310-9956-ffa450edef68>2000-05-21 05:13:10 +0000
committermanoj <manoj@13f79535-47bb-0310-9956-ffa450edef68>2000-05-21 05:13:10 +0000
commitf2fe5040f7279ab6794fa8681dbc7baa5aeebd69 (patch)
tree33e2d3b0820a7f772560aa361767216441d54d0f /lib
parent0d03e7ae78e75004b1bb51fb416452e4066b876a (diff)
downloadlibapr-f2fe5040f7279ab6794fa8681dbc7baa5aeebd69.tar.gz
Since cleanups return an APR status, ap_run_cleanup should too.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@60075 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'lib')
-rw-r--r--lib/apr_pools.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/apr_pools.c b/lib/apr_pools.c
index e488dce73..d4bc790ec 100644
--- a/lib/apr_pools.c
+++ b/lib/apr_pools.c
@@ -612,13 +612,16 @@ API_EXPORT(void) ap_kill_cleanup(ap_pool_t *p, void *data,
}
}
-API_EXPORT(void) ap_run_cleanup(ap_pool_t *p, void *data,
+API_EXPORT(ap_status_t) ap_run_cleanup(ap_pool_t *p, void *data,
ap_status_t (*cleanup) (void *))
{
+ ap_status_t rv;
+
ap_block_alarms(); /* Run cleanup only once! */
- (*cleanup) (data);
+ rv = (*cleanup) (data);
ap_kill_cleanup(p, data, cleanup);
ap_unblock_alarms();
+ return rv;
}
static void run_cleanups(struct cleanup *c)