You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Greg Stein <gs...@gmail.com> on 2011/04/26 17:35:57 UTC

Re: svn commit: r1096777 - /subversion/trunk/subversion/libsvn_wc/props.c

On Tue, Apr 26, 2011 at 11:15,  <hw...@apache.org> wrote:
>...
> +++ subversion/trunk/subversion/libsvn_wc/props.c Tue Apr 26 15:15:24 2011
> @@ -2018,6 +2018,7 @@ do_propset(svn_wc__db_t *db,
>   svn_wc_notify_action_t notify_action;
>   svn_wc__db_kind_t kind;
>   svn_wc__db_status_t status;
> +  svn_skel_t *work_item = NULL;

Why is this initialized? It is set unconditionally below.

>...
> @@ -2179,9 +2159,12 @@ do_propset(svn_wc__db_t *db,
>   apr_hash_set(prophash, name, APR_HASH_KEY_STRING, value);
>
>   /* Drop it right into the db..  */
> -  SVN_ERR(svn_wc__db_op_set_props(db, local_abspath, prophash, NULL, NULL,
> +  SVN_ERR(svn_wc__db_op_set_props(db, local_abspath, prophash, NULL, work_item,
>                                   scratch_pool));
>
> +  /* Run our workqueue item for sync'ing flags with props. */
> +  SVN_ERR(svn_wc__wq_run(db, local_abspath, NULL, NULL, scratch_pool));

This raises an interesting question: is it okay to run the workqueue
at any point in time? I believe the answer is "yes", but are there
situations where a caller may expect that the queue-run is under their
control, and the caller wants to wait a bit longer?

Cheers,
-g

Re: svn commit: r1096777 - /subversion/trunk/subversion/libsvn_wc/props.c

Posted by Hyrum K Wright <hy...@hyrumwright.org>.
On Tue, Apr 26, 2011 at 10:35 AM, Greg Stein <gs...@gmail.com> wrote:
> On Tue, Apr 26, 2011 at 11:15,  <hw...@apache.org> wrote:
>>...
>> +++ subversion/trunk/subversion/libsvn_wc/props.c Tue Apr 26 15:15:24 2011
>> @@ -2018,6 +2018,7 @@ do_propset(svn_wc__db_t *db,
>>   svn_wc_notify_action_t notify_action;
>>   svn_wc__db_kind_t kind;
>>   svn_wc__db_status_t status;
>> +  svn_skel_t *work_item = NULL;
>
> Why is this initialized? It is set unconditionally below.
>
>>...
>> @@ -2179,9 +2159,12 @@ do_propset(svn_wc__db_t *db,
>>   apr_hash_set(prophash, name, APR_HASH_KEY_STRING, value);
>>
>>   /* Drop it right into the db..  */
>> -  SVN_ERR(svn_wc__db_op_set_props(db, local_abspath, prophash, NULL, NULL,
>> +  SVN_ERR(svn_wc__db_op_set_props(db, local_abspath, prophash, NULL, work_item,
>>                                   scratch_pool));
>>
>> +  /* Run our workqueue item for sync'ing flags with props. */
>> +  SVN_ERR(svn_wc__wq_run(db, local_abspath, NULL, NULL, scratch_pool));
>
> This raises an interesting question: is it okay to run the workqueue
> at any point in time? I believe the answer is "yes", but are there
> situations where a caller may expect that the queue-run is under their
> control, and the caller wants to wait a bit longer?

Good point: that is an interesting question.

For this specific application, I don't think we need to worry about
accidentally running a caller's existing queue prematurely, but I can
certainly see places where that would be an issue.  Unfortunately, we
don't have a very good handle on where those might be.

-Hyrum