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?
|
Список | 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 по дате отправления: