Displaying 5 results from an estimated 5 matches for "funct_ref".
2017 Sep 08
1
pop3-login core dump when using TLSSTART on version dovecot-2.2.32 (OPEN)
...* without risk of a race. We get a race if we leave the count until
* after and something else is calling "finish" at the same time -
* there's a chance that both threads will together take the count from 2
* to 0 without either calling finish().
*/
e->funct_ref--;
engine_ref_debug(e, 1, -1);
if ((e->funct_ref == 0) && e->finish) {
if (unlock_for_handlers)
CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE);
to_return = e->finish(e);
if (unlock_for_handlers)
CRYPTO_w_lock(CRYPTO_LOCK_ENGINE);...
2017 Sep 11
1
pop3-login core dump when using TLSSTART on version dovecot-2.2.32 (INTERNAL)
...race. We get a race if we leave the count until
> * after and something else is calling "finish" at the same time -
> * there's a chance that both threads will together take the count from 2
> * to 0 without either calling finish().
> */
> e->funct_ref--;
> engine_ref_debug(e, 1, -1);
> if ((e->funct_ref == 0) && e->finish) {
> if (unlock_for_handlers)
> CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE);
> to_return = e->finish(e);
> if (unlock_for_handlers)
> CRYPTO_...
2017 Sep 11
1
pop3-login core dump when using TLSSTART on version dovecot-2.2.32 (INTERNAL)
...if we leave the count until
>> * after and something else is calling "finish" at the same time -
>> * there's a chance that both threads will together take the count from 2
>> * to 0 without either calling finish().
>> */
>> e->funct_ref--;
>> engine_ref_debug(e, 1, -1);
>> if ((e->funct_ref == 0) && e->finish) {
>> if (unlock_for_handlers)
>> CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE);
>> to_return = e->finish(e);
>> if (unlock_for_handlers)...
2017 Sep 12
1
dovecot Digest, Vol 173, Issue 28 (INTERNAL)
...nt until
>>> * after and something else is calling "finish" at the same time -
>>> * there's a chance that both threads will together take the count from 2
>>> * to 0 without either calling finish().
>>> */
>>> e->funct_ref--;
>>> engine_ref_debug(e, 1, -1);
>>> if ((e->funct_ref == 0) && e->finish) {
>>> if (unlock_for_handlers)
>>> CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE);
>>> to_return = e->finish(e);
>>> i...
2017 Sep 12
1
dovecot Digest, Vol 173, Issue 28 (INTERNAL)
...;> * after and something else is calling "finish" at the same time -
>>>> * there's a chance that both threads will together take the count from 2
>>>> * to 0 without either calling finish().
>>>> */
>>>> e->funct_ref--;
>>>> engine_ref_debug(e, 1, -1);
>>>> if ((e->funct_ref == 0) && e->finish) {
>>>> if (unlock_for_handlers)
>>>> CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE);
>>>> to_return = e->finish(e);
&g...