On 4 August 2014 17:48, Branko Čibej <br...@wandisco.com> wrote:
> On 04.08.2014 15:22, Ivan Zhakov wrote:
>
> On 2 August 2014 23:13,  <stef...@apache.org> wrote:
>
> @@ -195,7 +206,9 @@ svn_mutex__unlock(svn_mutex__t *mutex,
>  #else
>        /* Update lock counter. */
>        if (mutex->checked)
> -        --mutex->count;
> +        if (--mutex->count)
> +          return svn_error_create(SVN_ERR_INVALID_UNLOCK, NULL,
> +                                  _("Tried to release a non-locked
> mutex"));
>
> 1. Why you are using non-atomic decrement here while we're using
> casptr() for mutex->owner?
>
>
> This bit of code is only used when APR does *not* support threads, IIRC. So
> atomic insns are overkill.
>
Ok. It was not clear from unidiff and log message that change is about
!APR_HAS_THREADS code.

>
> 2. You're leaving mutex object in invalid state on attempt to release
> non-locked mutex.
>
>
> That's been fixed.
>
OK. Another question: why this situation not considered as malfunction?

-- 
Ivan Zhakov
CTO | VisualSVN | http://www.visualsvn.com

Reply via email to