On Dec 5, 2007 12:02 PM, Lieven Govaerts <svnlgo@mobsol.be> wrote:
> the stress test script is meant to find out Mike's "double free" error
> during commit. Since you're already solving the switch issue, I'll have
> a look at a stress test script.
I think the patch below should fix it.
Anyone care to review before I commit? (I'll also write up a log msg too.)
Thanks. -- justin
Index: subversion/libsvn_ra_serf/update.c
===================================================================
--- subversion/libsvn_ra_serf/update.c (revision 28286)
+++ subversion/libsvn_ra_serf/update.c (working copy)
@@ -65,6 +65,9 @@
NEED_PROP_NAME,
} report_state_e;
+/* Forward-declare our report context. */
+typedef struct report_context_t report_context_t;
+
/*
* This structure represents the information for a directory.
*/
@@ -78,6 +81,9 @@
apr_pool_t *pool;
+ /* Pointer back to our original report context. */
+ report_context_t *report_context;
+
/* Our name sans any parents. */
const char *base_name;
@@ -260,7 +266,7 @@
/*
* The master structure for a REPORT request and response.
*/
-typedef struct {
+struct report_context_t {
apr_pool_t *pool;
svn_ra_serf__session_t *sess;
@@ -317,7 +323,7 @@
/* Are we done parsing the REPORT response? */
svn_boolean_t done;
-} report_context_t;
+};
/** Report state management helper **/
@@ -363,6 +369,7 @@
/* Point to the update_editor */
new_info->dir->update_editor = ctx->update_editor;
new_info->dir->update_baton = ctx->update_baton;
+ new_info->dir->report_context = ctx;
if (info)
{
@@ -482,6 +489,15 @@
{
apr_pool_create(&dir->dir_baton_pool, dir->pool);
+ if (dir->report_context->destination &&
+ dir->report_context->sess->wc_callbacks->invalidate_wc_props)
+ {
+ SVN_ERR(dir->report_context->sess->wc_callbacks->invalidate_wc_props(
+ dir->report_context->sess->wc_callback_baton,
+ dir->report_context->update_target,
+ SVN_RA_SERF__WC_CHECKED_IN_URL, dir->pool));
+ }
+
SVN_ERR(dir->update_editor->open_root(dir->update_baton, dir->base_rev,
dir->dir_baton_pool,
&dir->dir_baton));
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Dec 5 21:30:12 2007