Re: race condition in pgplsql call handler?

Поиск
Список
Период
Сортировка
От Zdenek Kotala
Тема Re: race condition in pgplsql call handler?
Дата
Msg-id 46447226.1020401@sun.com
обсуждение исходный текст
Ответ на Re: race condition in pgplsql call handler?  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: race condition in pgplsql call handler?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane wrote:
> Zdenek Kotala <Zdenek.Kotala@Sun.COM> writes:
>> I'm looking into PG/PLSql code and following code in 
>> plpgsql_call_handler looks strange:
> 
>>          /* Find or compile the function */
>>          func = plpgsql_compile(fcinfo, false);
> 
>>          /* Mark the function as busy, so it can't be deleted from under 
>> us */
>>          func->use_count++;
> 
> 
>> I don't have deep knowledge about this part of code. But what happen if 
>> in parallel execution "func" will be deleted between these two lines?
> 
> This is not a race condition because the backend is single-threaded.

I see. Each backend has own function cache and use_count is for handle 
recursion usage. Are my assumption correct?
    thanks Zdenek


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: race condition in pgplsql call handler?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: race condition in pgplsql call handler?