Hello Yann,
This is just a matter of style, but isn't it more typical to have pool
as the first parameter of a function?
Even in mod_session_dbd.c, this is seen in dbd_clean(),
session_dbd_monitor(), create_session_dbd_dir_config() and
merge_session_dbd_dir_config().
Thanks,
Mike
On 6/23/2015 3:54 AM, [email protected] wrote:
Author: ylavic
Date: Tue Jun 23 10:54:15 2015
New Revision: 1687021
URL: http://svn.apache.org/r1687021
Log:
mod_session_dbd: follow up to r1686122.
DBD entries should also have request lifetime.
Proposed by: Jacob Champion <jacob.champion ni.com>
Reviewed by: ylavic
Modified:
httpd/httpd/trunk/modules/session/mod_session_dbd.c
Modified: httpd/httpd/trunk/modules/session/mod_session_dbd.c
URL:
http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/session/mod_session_dbd.c?rev=1687021&r1=1687020&r2=1687021&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/session/mod_session_dbd.c (original)
+++ httpd/httpd/trunk/modules/session/mod_session_dbd.c Tue Jun 23 10:54:15 2015
@@ -94,8 +94,11 @@ static apr_status_t dbd_init(request_rec
/**
* Load the session by the key specified.
+ *
+ * The session value is allocated using the passed apr_pool_t.
*/
-static apr_status_t dbd_load(request_rec * r, const char *key, const char
**val)
+static apr_status_t dbd_load(request_rec * r, apr_pool_t *pool,
+ const char *key, const
char **val)
{
apr_status_t rv;
@@ -138,7 +141,7 @@ static apr_status_t dbd_load(request_rec
return APR_EGENERAL;
}
if (*val == NULL) {
- *val = apr_pstrdup(r->pool,
+ *val = apr_pstrdup(pool,
apr_dbd_get_entry(dbd->driver, row, 0));
}
/* we can't break out here or row won't get cleaned up */
@@ -204,7 +207,7 @@ static apr_status_t session_dbd_load(req
/* load an RFC2109 or RFC2965 compliant cookie */
ap_cookie_read(r, name, &key, conf->remove);
if (key) {
- ret = dbd_load(r, key, &val);
+ ret = dbd_load(r, m->pool, key, &val);
if (ret != APR_SUCCESS) {
return ret;
}
@@ -215,7 +218,7 @@ static apr_status_t session_dbd_load(req
/* load named session */
else if (conf->peruser) {
if (r->user) {
- ret = dbd_load(r, r->user, &val);
+ ret = dbd_load(r, m->pool, r->user, &val);
if (ret != APR_SUCCESS) {
return ret;
}